summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source3/include/includes.h3
-rw-r--r--source3/lib/system.c6
-rw-r--r--source3/smbd/trans2.c6
3 files changed, 9 insertions, 6 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h
index a2f6048c278..0d66c1cd6b2 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -451,6 +451,9 @@ struct stat_ex {
blksize_t st_ex_blksize;
blkcnt_t st_ex_blocks;
+ uint32_t st_ex_flags;
+ uint32_t st_ex_mask;
+
/*
* Add space for VFS internal extensions. The initial user of this
* would be the onefs modules, passing the snapid from the stat calls
diff --git a/source3/lib/system.c b/source3/lib/system.c
index 5158750f983..d9d3266fbc5 100644
--- a/source3/lib/system.c
+++ b/source3/lib/system.c
@@ -477,6 +477,12 @@ static void init_stat_ex_from_stat (struct stat_ex *dst,
dst->st_ex_btime = get_create_timespec(src);
dst->st_ex_blksize = src->st_blksize;
dst->st_ex_blocks = src->st_blocks;
+
+#ifdef HAVE_STAT_ST_FLAGS
+ dst->st_ex_flags = src->st_flags;
+#else
+ dst->st_ex_flags = 0;
+#endif
}
/*******************************************************************
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index ef7f6170108..1d95c207baf 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -3613,7 +3613,6 @@ static const struct {unsigned stat_fflag; unsigned smb_fflag;}
static void map_info2_flags_from_sbuf(const SMB_STRUCT_STAT *psbuf,
uint32 *smb_fflags, uint32 *smb_fmask)
{
-#ifdef HAVE_STAT_ST_FLAGS
int i;
for (i = 0; i < ARRAY_SIZE(info2_flags_map); ++i) {
@@ -3622,7 +3621,6 @@ static void map_info2_flags_from_sbuf(const SMB_STRUCT_STAT *psbuf,
*smb_fflags |= info2_flags_map[i].smb_fflag;
}
}
-#endif /* HAVE_STAT_ST_FLAGS */
}
static bool map_info2_flags_to_sbuf(const SMB_STRUCT_STAT *psbuf,
@@ -3630,7 +3628,6 @@ static bool map_info2_flags_to_sbuf(const SMB_STRUCT_STAT *psbuf,
const uint32 smb_fmask,
int *stat_fflags)
{
-#ifdef HAVE_STAT_ST_FLAGS
uint32 max_fmask = 0;
int i;
@@ -3660,9 +3657,6 @@ static bool map_info2_flags_to_sbuf(const SMB_STRUCT_STAT *psbuf,
}
return True;
-#else
- return False;
-#endif /* HAVE_STAT_ST_FLAGS */
}