uint32_t access_mask; /* NTCreateX access bits (FILE_READ_DATA etc.) */
struct {
bool kernel_share_modes_taken : 1;
+ bool update_write_time_triggered : 1;
} fsp_flags;
- bool update_write_time_triggered;
struct tevent_timer *update_write_time_event;
bool update_write_time_on_close;
struct timespec close_write_time;
cookie.base_name = fsp->fsp_name->base_name;
cookie.initial_allocation_size = fsp->initial_allocation_size;
cookie.position_information = fsp->fh->position_information;
- cookie.update_write_time_triggered = fsp->update_write_time_triggered;
+ cookie.update_write_time_triggered =
+ fsp->fsp_flags.update_write_time_triggered;
cookie.update_write_time_on_close = fsp->update_write_time_on_close;
cookie.write_time_forced = fsp->write_time_forced;
cookie.close_write_time = full_timespec_to_nt_time(
cookie.base_name = fsp->fsp_name->base_name;
cookie.initial_allocation_size = fsp->initial_allocation_size;
cookie.position_information = fsp->fh->position_information;
- cookie.update_write_time_triggered = fsp->update_write_time_triggered;
+ cookie.update_write_time_triggered =
+ fsp->fsp_flags.update_write_time_triggered;
cookie.update_write_time_on_close = fsp->update_write_time_on_close;
cookie.write_time_forced = fsp->write_time_forced;
cookie.close_write_time = full_timespec_to_nt_time(
fsp->initial_allocation_size = cookie.initial_allocation_size;
fsp->fh->position_information = cookie.position_information;
- fsp->update_write_time_triggered = cookie.update_write_time_triggered;
+ fsp->fsp_flags.update_write_time_triggered =
+ cookie.update_write_time_triggered;
fsp->update_write_time_on_close = cookie.update_write_time_on_close;
fsp->write_time_forced = cookie.write_time_forced;
fsp->close_write_time = nt_time_to_full_timespec(
fsp->update_write_time_on_close = true;
- if (fsp->update_write_time_triggered) {
+ if (fsp->fsp_flags.update_write_time_triggered) {
/*
* We only update the write time after 2 seconds
* on the first normal write. After that
*/
return;
}
- fsp->update_write_time_triggered = true;
+ fsp->fsp_flags.update_write_time_triggered = true;
delay = lp_parm_int(SNUM(fsp->conn),
"smbd", "writetimeupdatedelay",
fsp_str_dbg(fsp)));
/* After an immediate update, reset the trigger. */
- fsp->update_write_time_triggered = true;
+ fsp->fsp_flags.update_write_time_triggered = true;
fsp->update_write_time_on_close = false;
ft.mtime = timespec_current();