summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix/pvfs_open.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-10-25 01:29:31 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:04:36 -0500
commitc1c696460b74fa3dd381f3903ec0281f6f1865a9 (patch)
treebdd730f1c2641cdd67376b988e0038569a143442 /source4/ntvfs/posix/pvfs_open.c
parentdef9a12bccd7113658220086fb32d388b47faaf7 (diff)
downloadsamba-c1c696460b74fa3dd381f3903ec0281f6f1865a9.tar.gz
samba-c1c696460b74fa3dd381f3903ec0281f6f1865a9.tar.bz2
samba-c1c696460b74fa3dd381f3903ec0281f6f1865a9.zip
r3174: added pvfs_is_open() to allow us to check for open files on unlink. We
now pass BASE-UNLINK. (This used to be commit f23a2f8538bda8f6790e86c93ee22436388b2975)
Diffstat (limited to 'source4/ntvfs/posix/pvfs_open.c')
-rw-r--r--source4/ntvfs/posix/pvfs_open.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/source4/ntvfs/posix/pvfs_open.c b/source4/ntvfs/posix/pvfs_open.c
index e587ebbf95..7f06626706 100644
--- a/source4/ntvfs/posix/pvfs_open.c
+++ b/source4/ntvfs/posix/pvfs_open.c
@@ -703,3 +703,20 @@ NTSTATUS pvfs_change_create_options(struct pvfs_state *pvfs,
return status;
}
+
+
+/*
+ determine if a file is open - used to prevent some operations on open files
+*/
+BOOL pvfs_is_open(struct pvfs_state *pvfs, struct pvfs_filename *name)
+{
+ NTSTATUS status;
+ DATA_BLOB key;
+
+ status = pvfs_locking_key(name, name, &key);
+ if (!NT_STATUS_IS_OK(status)) {
+ return False;
+ }
+
+ return odb_is_open(pvfs->odb_context, &key);
+}