summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/modules/vfs_streams_depot.c19
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;
}