summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_streams_xattr.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2016-03-18 21:19:38 -0700
committerJeremy Allison <jra@samba.org>2016-03-24 22:57:16 +0100
commitdc5dad48139a3dcb4544e4f31aabe269f6401849 (patch)
treed28e38e34b700d0bc2cabab81f8130eaf1c91909 /source3/modules/vfs_streams_xattr.c
parent2e302d7007a58df972f7e63382ee8c9729f80560 (diff)
downloadsamba-dc5dad48139a3dcb4544e4f31aabe269f6401849.tar.gz
s3: Filenames: Add uint32_t flags parameter to synthetic_smb_fname().
Get it from parent/deriving smb_filename if present. Use 0 (as usually this a Windows-style lookup) if not. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Uri Simchoni <uri@samba.org>
Diffstat (limited to 'source3/modules/vfs_streams_xattr.c')
-rw-r--r--source3/modules/vfs_streams_xattr.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/source3/modules/vfs_streams_xattr.c b/source3/modules/vfs_streams_xattr.c
index 0d547346b14..b3b800264fb 100644
--- a/source3/modules/vfs_streams_xattr.c
+++ b/source3/modules/vfs_streams_xattr.c
@@ -242,8 +242,11 @@ static int streams_xattr_fstat(vfs_handle_struct *handle, files_struct *fsp,
}
/* Create an smb_filename with stream_name == NULL. */
- smb_fname_base = synthetic_smb_fname(talloc_tos(), io->base,
- NULL, NULL);
+ smb_fname_base = synthetic_smb_fname(talloc_tos(),
+ io->base,
+ NULL,
+ NULL,
+ fsp->fsp_name->flags);
if (smb_fname_base == NULL) {
errno = ENOMEM;
return -1;
@@ -427,8 +430,11 @@ static int streams_xattr_open(vfs_handle_struct *handle,
}
/* Create an smb_filename with stream_name == NULL. */
- smb_fname_base = synthetic_smb_fname(
- talloc_tos(), smb_fname->base_name, NULL, NULL);
+ smb_fname_base = synthetic_smb_fname(talloc_tos(),
+ smb_fname->base_name,
+ NULL,
+ NULL,
+ smb_fname->flags);
if (smb_fname_base == NULL) {
errno = ENOMEM;
goto fail;