1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-22 22:04:08 +03:00

s3:lib: add update_stat_ex_from_saved_stat()

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14121

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
Ralph Boehme 2019-08-30 14:49:47 +02:00
parent 4e49999c97
commit ac18730f10
2 changed files with 22 additions and 0 deletions

View File

@ -223,6 +223,8 @@ void update_stat_ex_mtime(struct stat_ex *dst, struct timespec write_ts);
void update_stat_ex_itime(struct stat_ex *dst, struct timespec itime);
void update_stat_ex_create_time(struct stat_ex *dst, struct timespec create_time);
void update_stat_ex_file_id(struct stat_ex *dst, uint64_t file_id);
void update_stat_ex_from_saved_stat(struct stat_ex *dst,
const struct stat_ex *src);
int sys_stat(const char *fname, SMB_STRUCT_STAT *sbuf,
bool fake_dir_create_times);
int sys_fstat(int fd, SMB_STRUCT_STAT *sbuf,

View File

@ -355,6 +355,26 @@ void update_stat_ex_file_id(struct stat_ex *dst, uint64_t file_id)
dst->st_ex_iflags &= ~ST_EX_IFLAG_CALCULATED_FILE_ID;
}
void update_stat_ex_from_saved_stat(struct stat_ex *dst,
const struct stat_ex *src)
{
if (!VALID_STAT(*src)) {
return;
}
if (!(src->st_ex_iflags & ST_EX_IFLAG_CALCULATED_BTIME)) {
update_stat_ex_create_time(dst, src->st_ex_btime);
}
if (!(src->st_ex_iflags & ST_EX_IFLAG_CALCULATED_ITIME)) {
update_stat_ex_itime(dst, src->st_ex_itime);
}
if (!(src->st_ex_iflags & ST_EX_IFLAG_CALCULATED_FILE_ID)) {
update_stat_ex_file_id(dst, src->st_ex_file_id);
}
}
void init_stat_ex_from_stat (struct stat_ex *dst,
const struct stat *src,
bool fake_dir_create_times)