diff options
author | Jeff Layton <jlayton@redhat.com> | 2012-07-23 13:28:37 -0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-07-23 17:36:29 -0400 |
commit | c5fd363d771393a7b42bbbe051f30f97d4867a40 (patch) | |
tree | 338135e4be3a6f12a7c1350655cfc48b1db52457 /fs/cifs/cifsproto.h | |
parent | ac3aa2f8ae29c186c4742d15e39712af417c6d68 (diff) |
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, | |||
386 | const bool waitFlag, const __u8 oplock_level); | 386 | const bool waitFlag, const __u8 oplock_level); |
387 | extern int CIFSSMBPosixLock(const int xid, struct cifs_tcon *tcon, | 387 | extern int CIFSSMBPosixLock(const int xid, struct cifs_tcon *tcon, |
388 | const __u16 smb_file_id, const __u32 netpid, | 388 | const __u16 smb_file_id, const __u32 netpid, |
389 | const int get_flag, const __u64 len, struct file_lock *, | 389 | const loff_t start_offset, const __u64 len, |
390 | const __u16 lock_type, const bool waitFlag); | 390 | struct file_lock *, const __u16 lock_type, |
391 | const bool waitFlag); | ||
391 | extern int CIFSSMBTDis(const int xid, struct cifs_tcon *tcon); | 392 | extern int CIFSSMBTDis(const int xid, struct cifs_tcon *tcon); |
392 | extern int CIFSSMBEcho(struct TCP_Server_Info *server); | 393 | extern int CIFSSMBEcho(struct TCP_Server_Info *server); |
393 | extern int CIFSSMBLogoff(const int xid, struct cifs_ses *ses); | 394 | extern int CIFSSMBLogoff(const int xid, struct cifs_ses *ses); |