CIFS: Convert lock type to 32 bit variable
authorPavel Shilovsky <piastry@etersoft.ru>
Tue, 28 Feb 2012 11:16:55 +0000 (14:16 +0300)
committerSteve French <sfrench@us.ibm.com>
Thu, 17 May 2012 01:13:35 +0000 (20:13 -0500)
to handle SMB2 lock type field further.

Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
fs/cifs/cifsglob.h
fs/cifs/file.c

index 03d24a5..0e06de1 100644 (file)
@@ -567,7 +567,7 @@ struct cifsLockInfo {
        __u64 offset;
        __u64 length;
        __u32 pid;
-       __u8 type;
+       __u32 type;
 };
 
 /*
index fc45cd9..8d5d9c0 100644 (file)
@@ -912,7 +912,8 @@ cifs_push_mandatory_locks(struct cifsFileInfo *cfile)
                        cur->OffsetHigh = cpu_to_le32((u32)(li->offset>>32));
                        if (++num == max_num) {
                                stored_rc = cifs_lockv(xid, tcon, cfile->netfid,
-                                                      li->type, 0, num, buf);
+                                                      (__u8)li->type, 0, num,
+                                                      buf);
                                if (stored_rc)
                                        rc = stored_rc;
                                cur = buf;
@@ -923,7 +924,7 @@ cifs_push_mandatory_locks(struct cifsFileInfo *cfile)
 
                if (num) {
                        stored_rc = cifs_lockv(xid, tcon, cfile->netfid,
-                                              types[i], 0, num, buf);
+                                              (__u8)types[i], 0, num, buf);
                        if (stored_rc)
                                rc = stored_rc;
                }
@@ -1067,7 +1068,7 @@ cifs_push_locks(struct cifsFileInfo *cfile)
 }
 
 static void
-cifs_read_flock(struct file_lock *flock, __u8 *type, int *lock, int *unlock,
+cifs_read_flock(struct file_lock *flock, __u32 *type, int *lock, int *unlock,
                bool *wait_flag)
 {
        if (flock->fl_flags & FL_POSIX)
@@ -1111,7 +1112,7 @@ cifs_read_flock(struct file_lock *flock, __u8 *type, int *lock, int *unlock,
 }
 
 static int
-cifs_getlk(struct file *file, struct file_lock *flock, __u8 type,
+cifs_getlk(struct file *file, struct file_lock *flock, __u32 type,
           bool wait_flag, bool posix_lck, int xid)
 {
        int rc = 0;
@@ -1299,7 +1300,7 @@ cifs_unlock_range(struct cifsFileInfo *cfile, struct file_lock *flock, int xid)
 }
 
 static int
-cifs_setlk(struct file *file,  struct file_lock *flock, __u8 type,
+cifs_setlk(struct file *file,  struct file_lock *flock, __u32 type,
           bool wait_flag, bool posix_lck, int lock, int unlock, int xid)
 {
        int rc = 0;
@@ -1370,7 +1371,7 @@ int cifs_lock(struct file *file, int cmd, struct file_lock *flock)
        struct cifsInodeInfo *cinode;
        struct cifsFileInfo *cfile;
        __u16 netfid;
-       __u8 type;
+       __u32 type;
 
        rc = -EACCES;
        xid = GetXid();