diff options
author | Jeff Layton <jlayton@redhat.com> | 2012-07-23 13:28:37 -0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-07-23 16:36:29 -0500 |
commit | c5fd363d771393a7b42bbbe051f30f97d4867a40 (patch) | |
tree | 338135e4be3a6f12a7c1350655cfc48b1db52457 /fs/cifs/cifsproto.h | |
parent | ac3aa2f8ae29c186c4742d15e39712af417c6d68 (diff) | |
download | blackbird-op-linux-c5fd363d771393a7b42bbbe051f30f97d4867a40.tar.gz blackbird-op-linux-c5fd363d771393a7b42bbbe051f30f97d4867a40.zip |
cifs: move file_lock off stack in cifs_push_posix_locks
struct file_lock is pretty large, so we really don't want that on the
stack in a potentially long call chain. Reorganize the arguments to
CIFSSMBPosixLock to eliminate the need for that.
Eliminate the get_flag and simply use a non-NULL pLockInfo to indicate
that this is a "get" operation. In order to do that, need to add a new
loff_t argument for the start_offset.
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/cifsproto.h')
-rw-r--r-- | fs/cifs/cifsproto.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h index 0a6cbfe2761e..baa1b6dc838e 100644 --- a/fs/cifs/cifsproto.h +++ b/fs/cifs/cifsproto.h @@ -386,8 +386,9 @@ extern int CIFSSMBLock(const int xid, struct cifs_tcon *tcon, const bool waitFlag, const __u8 oplock_level); extern int CIFSSMBPosixLock(const int xid, struct cifs_tcon *tcon, const __u16 smb_file_id, const __u32 netpid, - const int get_flag, const __u64 len, struct file_lock *, - const __u16 lock_type, const bool waitFlag); + const loff_t start_offset, const __u64 len, + struct file_lock *, const __u16 lock_type, + const bool waitFlag); extern int CIFSSMBTDis(const int xid, struct cifs_tcon *tcon); extern int CIFSSMBEcho(struct TCP_Server_Info *server); extern int CIFSSMBLogoff(const int xid, struct cifs_ses *ses); |