aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/smb2ops.c
diff options
context:
space:
mode:
authorAurelien Aptel <aaptel@suse.com>2016-09-22 07:38:50 +0200
committerSteve French <smfrench@gmail.com>2016-10-12 12:08:32 -0500
commit94f873717571c759b7928399cbbddfa3d569bd01 (patch)
treeff38b19308a37d3bafabe8f3b04022f427cd0f41 /fs/cifs/smb2ops.c
parentSMB3: GUIDs should be constructed as random but valid uuids (diff)
downloadlinux-dev-94f873717571c759b7928399cbbddfa3d569bd01.tar.xz
linux-dev-94f873717571c759b7928399cbbddfa3d569bd01.zip
fs/cifs: keep guid when assigning fid to fileinfo
When we open a durable handle we give a Globally Unique Identifier (GUID) to the server which we must keep for later reference e.g. when reopening persistent handles on reconnection. Without this the GUID generated for a new persistent handle was lost and 16 zero bytes were used instead on re-opening. Signed-off-by: Aurelien Aptel <aaptel@suse.com> CC: Stable <stable@vger.kernel.org> Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to '')
-rw-r--r--fs/cifs/smb2ops.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 5ed591d7fff3..91e53df4e420 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -541,6 +541,7 @@ smb2_set_fid(struct cifsFileInfo *cfile, struct cifs_fid *fid, __u32 oplock)
server->ops->set_oplock_level(cinode, oplock, fid->epoch,
&fid->purge_cache);
cinode->can_cache_brlcks = CIFS_CACHE_WRITE(cinode);
+ memcpy(cfile->fid.create_guid, fid->create_guid, 16);
}
static void