summaryrefslogtreecommitdiffstats
path: root/source3/locking/locking.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/locking/locking.c')
-rw-r--r--source3/locking/locking.c19
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;
+}