TODO: s3:smb2:durable: get up-to-date stat in vfs_default_durable_disconnect
authorMichael Adam <obnox@samba.org>
Tue, 12 Feb 2013 16:22:33 +0000 (17:22 +0100)
committerStefan Metzmacher <metze@samba.org>
Mon, 27 Jun 2016 19:42:10 +0000 (21:42 +0200)
strangely, the st_ex_mode was masked down to the permissions for me
so S_ISREG() failed, and disconnect failed, and file was closed recgularly

source3/smbd/durable.c

index f39a365242c963d0443109084b2a0a15b000d33e..7b8ee86caf13f4b25e3cd2ad4826aec314d16b7f 100644 (file)
@@ -183,6 +183,12 @@ NTSTATUS vfs_default_durable_disconnect(struct files_struct *fsp,
                return NT_STATUS_NOT_SUPPORTED;
        }
 
+       // TODO: correct? layering? ...
+       status = vfs_stat_fsp(fsp);
+       if (!NT_STATUS_IS_OK(status)) {
+               return status;
+       }
+
        if (!VALID_STAT(fsp->fsp_name->st)) {
                return NT_STATUS_NOT_SUPPORTED;
        }