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, 18 Feb 2019 10:31:19 +0000 (11:31 +0100)
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 1f6113e4cc9d2953250131a01d194615d7e6a645..1fa15fc79f0a86f7614fa3fb1191dca500523b4c 100644 (file)
@@ -184,6 +184,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;
        }