summaryrefslogtreecommitdiffstats
path: root/source3/locking
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2014-12-04 10:13:47 -0800
committerJeremy Allison <jra@samba.org>2014-12-05 18:37:10 +0100
commit59cd638a1d241fae037d45e9ed1f029f65ac9080 (patch)
tree8f5a19cf76412dd41c684578ffcd56abadb3130d /source3/locking
parent959b9ea0ef85c57ffc84d66a6e5e855868943391 (diff)
downloadsamba-59cd638a1d241fae037d45e9ed1f029f65ac9080.tar.gz
samba-59cd638a1d241fae037d45e9ed1f029f65ac9080.tar.xz
samba-59cd638a1d241fae037d45e9ed1f029f65ac9080.zip
s3: leases: Add leases_db_rename() to cope with renaming a leased file.
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'source3/locking')
-rw-r--r--source3/locking/leases_db.c22
-rw-r--r--source3/locking/leases_db.h6
2 files changed, 27 insertions, 1 deletions
diff --git a/source3/locking/leases_db.c b/source3/locking/leases_db.c
index 67c93ff5c7..7e000aa075 100644
--- a/source3/locking/leases_db.c
+++ b/source3/locking/leases_db.c
@@ -385,3 +385,25 @@ NTSTATUS leases_db_parse(const struct GUID *client_guid,
}
return state.status;
}
+
+NTSTATUS leases_db_rename(const struct GUID *client_guid,
+ const struct smb2_lease_key *lease_key,
+ const struct file_id *id,
+ const char *filename_new,
+ const char *stream_name_new)
+{
+ NTSTATUS status;
+
+ status = leases_db_del(client_guid,
+ lease_key,
+ id);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
+
+ return leases_db_add(client_guid,
+ lease_key,
+ id,
+ filename_new,
+ stream_name_new);
+}
diff --git a/source3/locking/leases_db.h b/source3/locking/leases_db.h
index f570356204..906a99bc61 100644
--- a/source3/locking/leases_db.h
+++ b/source3/locking/leases_db.h
@@ -42,5 +42,9 @@ NTSTATUS leases_db_parse(const struct GUID *client_guid,
const char *stream_name,
void *private_data),
void *private_data);
-
+NTSTATUS leases_db_rename(const struct GUID *client_guid,
+ const struct smb2_lease_key *lease_key,
+ const struct file_id *id,
+ const char *filename_new,
+ const char *stream_name_new);
#endif /* _LEASES_DB_H_ */