]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
fs/cifs: keep guid when assigning fid to fileinfo
authorAurelien Aptel <aaptel@suse.com>
Thu, 22 Sep 2016 05:38:50 +0000 (07:38 +0200)
committerLuis Henriques <luis.henriques@canonical.com>
Tue, 8 Nov 2016 16:45:39 +0000 (16:45 +0000)
BugLink: http://bugs.launchpad.net/bugs/1637510
commit 94f873717571c759b7928399cbbddfa3d569bd01 upstream.

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>
Signed-off-by: Steve French <smfrench@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
fs/cifs/smb2ops.c

index dd8543caa56e93267bc39c8819db021167276b52..3f6cdefd6ed3a30aeab8940da118c33afb6c1adf 100644 (file)
@@ -536,6 +536,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