From 595dcfecf642c8b0772989ed46f15ee03c25a205 Mon Sep 17 00:00:00 2001 From: Steve French Date: Thu, 8 Feb 2007 18:11:42 +0000 Subject: [PATCH] [CIFS] POSIX CIFS Extensions (continued) - POSIX Open Signed-off-by: Steve French --- fs/cifs/CHANGES | 2 ++ fs/cifs/cifspdu.h | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index 85e3850bf2c9..a1fb03f19637 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES @@ -1,6 +1,8 @@ Version 1.47 ------------ Fix oops in list_del during mount caused by unaligned string. +Fix file corruption which could occur on some large file +copies caused by writepages page i/o completion bug. Seek to SEEK_END forces check for update of file size for non-cached files. diff --git a/fs/cifs/cifspdu.h b/fs/cifs/cifspdu.h index 2920ea0527f5..529a000bee46 100644 --- a/fs/cifs/cifspdu.h +++ b/fs/cifs/cifspdu.h @@ -796,6 +796,8 @@ typedef struct smb_com_openx_rsp { __u16 ByteCount; } __attribute__((packed)) OPENX_RSP; +/* For encoding of POSIX Open Request - see trans2 function 0x209 data struct */ + /* Legacy write request for older servers */ typedef struct smb_com_writex_req { struct smb_hdr hdr; /* wct = 12 */ @@ -2096,6 +2098,19 @@ struct cifs_posix_acl { /* access conrol list (ACL) */ /* end of POSIX ACL definitions */ +typedef struct { + __u32 OpenFlags; /* same as NT CreateX */ + __u32 PosixOpenFlags; + __u32 Mode; + __u16 Level; /* reply level requested (see QPathInfo levels) */ + __u16 Pad; /* reserved - MBZ */ +} __attribute__((packed)) OPEN_PSX_REQ; /* level 0x209 SetPathInfo data */ + +typedef struct { + /* reply varies based on requested level */ +} __atribute__((packed)) OPEN_PSX_RSP; /* level 0x209 SetPathInfo data */ + + struct file_internal_info { __u64 UniqueId; /* inode number */ } __attribute__((packed)); /* level 0x3ee */ -- GitLab