diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/modules/vfs_streams_depot.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/source3/modules/vfs_streams_depot.c b/source3/modules/vfs_streams_depot.c index a18827421a..f268492ade 100644 --- a/source3/modules/vfs_streams_depot.c +++ b/source3/modules/vfs_streams_depot.c @@ -67,15 +67,10 @@ static uint32_t hash_fn(DATA_BLOB key) * an option to put in a special ACL entry for a non-existing group. */ -static bool file_is_valid(vfs_handle_struct *handle, const char *path, - bool check_valid) +static bool file_is_valid(vfs_handle_struct *handle, const char *path) { char buf; - if (!check_valid) { - return true; - } - DEBUG(10, ("file_is_valid (%s) called\n", path)); if (SMB_VFS_GETXATTR(handle->conn, path, SAMBA_XATTR_MARKER, @@ -92,16 +87,11 @@ static bool file_is_valid(vfs_handle_struct *handle, const char *path, return true; } -static bool mark_file_valid(vfs_handle_struct *handle, const char *path, - bool check_valid) +static bool mark_file_valid(vfs_handle_struct *handle, const char *path) { char buf = '1'; int ret; - if (!check_valid) { - return true; - } - DEBUG(10, ("marking file %s as valid\n", path)); ret = SMB_VFS_SETXATTR(handle->conn, path, SAMBA_XATTR_MARKER, @@ -214,7 +204,8 @@ static char *stream_dir(vfs_handle_struct *handle, goto fail; } - if (file_is_valid(handle, smb_fname->base_name, check_valid)) { + if (!check_valid || + file_is_valid(handle, smb_fname->base_name)) { return result; } @@ -294,7 +285,7 @@ static char *stream_dir(vfs_handle_struct *handle, goto fail; } - if (!mark_file_valid(handle, smb_fname->base_name, check_valid)) { + if (check_valid && !mark_file_valid(handle, smb_fname->base_name)) { goto fail; } |