mirror of
https://github.com/samba-team/samba.git
synced 2025-02-25 17:57:42 +03:00
smbd: move files_struct.write_time_forced to a bitfield
Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
parent
9c2809c517
commit
4d70e92a91
@ -361,11 +361,11 @@ typedef struct files_struct {
|
||||
bool kernel_share_modes_taken : 1;
|
||||
bool update_write_time_triggered : 1;
|
||||
bool update_write_time_on_close : 1;
|
||||
bool write_time_forced : 1;
|
||||
} fsp_flags;
|
||||
|
||||
struct tevent_timer *update_write_time_event;
|
||||
struct timespec close_write_time;
|
||||
bool write_time_forced;
|
||||
|
||||
int oplock_type;
|
||||
|
||||
|
@ -313,7 +313,7 @@ static NTSTATUS close_remove_share_mode(files_struct *fsp,
|
||||
remove_oplock(fsp);
|
||||
}
|
||||
|
||||
if (fsp->write_time_forced) {
|
||||
if (fsp->fsp_flags.write_time_forced) {
|
||||
struct timespec ts;
|
||||
|
||||
DEBUG(10,("close_remove_share_mode: write time forced "
|
||||
@ -555,7 +555,7 @@ void set_close_write_time(struct files_struct *fsp, struct timespec ts)
|
||||
if (is_omit_timespec(&ts)) {
|
||||
return;
|
||||
}
|
||||
fsp->write_time_forced = false;
|
||||
fsp->fsp_flags.write_time_forced = false;
|
||||
fsp->fsp_flags.update_write_time_on_close = true;
|
||||
fsp->close_write_time = ts;
|
||||
}
|
||||
|
@ -1292,7 +1292,7 @@ bool set_sticky_write_time_fsp(struct files_struct *fsp, struct timespec mtime)
|
||||
return true;
|
||||
}
|
||||
|
||||
fsp->write_time_forced = true;
|
||||
fsp->fsp_flags.write_time_forced = true;
|
||||
TALLOC_FREE(fsp->update_write_time_event);
|
||||
|
||||
return set_sticky_write_time_path(fsp->file_id, mtime);
|
||||
|
@ -105,7 +105,7 @@ NTSTATUS vfs_default_durable_cookie(struct files_struct *fsp,
|
||||
fsp->fsp_flags.update_write_time_triggered;
|
||||
cookie.update_write_time_on_close =
|
||||
fsp->fsp_flags.update_write_time_on_close;
|
||||
cookie.write_time_forced = fsp->write_time_forced;
|
||||
cookie.write_time_forced = fsp->fsp_flags.write_time_forced;
|
||||
cookie.close_write_time = full_timespec_to_nt_time(
|
||||
&fsp->close_write_time);
|
||||
|
||||
@ -210,7 +210,7 @@ NTSTATUS vfs_default_durable_disconnect(struct files_struct *fsp,
|
||||
|
||||
init_smb_file_time(&ft);
|
||||
|
||||
if (fsp->write_time_forced) {
|
||||
if (fsp->fsp_flags.write_time_forced) {
|
||||
ft.mtime = nt_time_to_full_timespec(
|
||||
lck->data->changed_write_time);
|
||||
} else if (fsp->fsp_flags.update_write_time_on_close) {
|
||||
@ -258,7 +258,7 @@ NTSTATUS vfs_default_durable_disconnect(struct files_struct *fsp,
|
||||
fsp->fsp_flags.update_write_time_triggered;
|
||||
cookie.update_write_time_on_close =
|
||||
fsp->fsp_flags.update_write_time_on_close;
|
||||
cookie.write_time_forced = fsp->write_time_forced;
|
||||
cookie.write_time_forced = fsp->fsp_flags.write_time_forced;
|
||||
cookie.close_write_time = full_timespec_to_nt_time(
|
||||
&fsp->close_write_time);
|
||||
|
||||
@ -756,7 +756,7 @@ NTSTATUS vfs_default_durable_reconnect(struct connection_struct *conn,
|
||||
cookie.update_write_time_triggered;
|
||||
fsp->fsp_flags.update_write_time_on_close =
|
||||
cookie.update_write_time_on_close;
|
||||
fsp->write_time_forced = cookie.write_time_forced;
|
||||
fsp->fsp_flags.write_time_forced = cookie.write_time_forced;
|
||||
fsp->close_write_time = nt_time_to_full_timespec(
|
||||
cookie.close_write_time);
|
||||
|
||||
|
@ -132,7 +132,7 @@ void trigger_write_time_update(struct files_struct *fsp)
|
||||
return;
|
||||
}
|
||||
|
||||
if (fsp->write_time_forced) {
|
||||
if (fsp->fsp_flags.write_time_forced) {
|
||||
/* No point - "sticky" write times
|
||||
* in effect.
|
||||
*/
|
||||
@ -179,7 +179,7 @@ void trigger_write_time_update_immediate(struct files_struct *fsp)
|
||||
return;
|
||||
}
|
||||
|
||||
if (fsp->write_time_forced) {
|
||||
if (fsp->fsp_flags.write_time_forced) {
|
||||
/*
|
||||
* No point - "sticky" write times
|
||||
* in effect.
|
||||
|
Loading…
x
Reference in New Issue
Block a user