diff options
Diffstat (limited to 'source3/locking/locking.c')
-rw-r--r-- | source3/locking/locking.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/source3/locking/locking.c b/source3/locking/locking.c index b5d4f24f34..54c92b1470 100644 --- a/source3/locking/locking.c +++ b/source3/locking/locking.c @@ -600,14 +600,7 @@ void get_file_infos(struct file_id id, } if (write_time) { - struct timespec wt; - - wt = lck->data->changed_write_time; - if (null_timespec(wt)) { - wt = lck->data->old_write_time; - } - - *write_time = wt; + *write_time = get_share_mode_write_time(lck); } TALLOC_FREE(lck); @@ -1088,3 +1081,13 @@ bool set_write_time(struct file_id fileid, struct timespec write_time) TALLOC_FREE(lck); return True; } + +struct timespec get_share_mode_write_time(struct share_mode_lock *lck) +{ + struct share_mode_data *d = lck->data; + + if (!null_timespec(d->changed_write_time)) { + return d->changed_write_time; + } + return d->old_write_time; +} |