diff options
author | Jeff Layton <jlayton@poochiereds.net> | 2016-05-24 06:27:44 -0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2016-06-23 23:44:44 -0500 |
commit | 3d22462ae915743f3be5bf1ab3d4a6b72c2bb6c9 (patch) | |
tree | c72abbba49e16521c490a8981282dc5919eee402 /fs/cifs/cifsfs.c | |
parent | da01e18a37a57f360222d3a123b8f6994aa1ad14 (diff) | |
download | talos-op-linux-3d22462ae915743f3be5bf1ab3d4a6b72c2bb6c9.tar.gz talos-op-linux-3d22462ae915743f3be5bf1ab3d4a6b72c2bb6c9.zip |
cifs: stuff the fl_owner into "pid" field in the lock request
Right now, we send the tgid cross the wire. What we really want to send
though is a hashed fl_owner_t since samba treats this field as a generic
lockowner.
It turns out that because we enforce and release locks locally before
they are ever sent to the server, this patch makes no difference in
behavior. Still, setting OFD locks on the server using the process
pid seems wrong, so I think this patch still makes sense.
Signed-off-by: Jeff Layton <jlayton@poochiereds.net>
Signed-off-by: Steve French <smfrench@gmail.com>
Acked-by: Pavel Shilovsky <pshilovsky@samba.org>
Acked-by: Sachin Prabhu <sprabhu@redhat.com>
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r-- | fs/cifs/cifsfs.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 5d8b7edf8a8f..5d841f39c4b7 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -87,6 +87,7 @@ extern mempool_t *cifs_req_poolp; extern mempool_t *cifs_mid_poolp; struct workqueue_struct *cifsiod_wq; +__u32 cifs_lock_secret; /* * Bumps refcount for cifs super block. @@ -1266,6 +1267,8 @@ init_cifs(void) spin_lock_init(&cifs_file_list_lock); spin_lock_init(&GlobalMid_Lock); + get_random_bytes(&cifs_lock_secret, sizeof(cifs_lock_secret)); + if (cifs_max_pending < 2) { cifs_max_pending = 2; cifs_dbg(FYI, "cifs_max_pending set to min of 2\n"); |