summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-02-25 16:49:40 +0100
committerStefan Metzmacher <metze@samba.org>2008-02-26 09:32:55 +0100
commit9852e0d31582f669179c2a8c8ebdb263fef611f2 (patch)
treeea1ad37cdecee8f27d9ca76c9f66213de3646d5e
parentfacdc472c7e6dbca0553a5e0dfb100be322339ce (diff)
downloadsamba-9852e0d31582f669179c2a8c8ebdb263fef611f2.tar.gz
samba-9852e0d31582f669179c2a8c8ebdb263fef611f2.tar.bz2
samba-9852e0d31582f669179c2a8c8ebdb263fef611f2.zip
pvfs_open: pass down open_disposition and break_to_none to odb_open_file()
metze (This used to be commit 46500983fe2f63540a67e2e963ab264fa8a090d0)
-rw-r--r--source4/ntvfs/posix/pvfs_open.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/source4/ntvfs/posix/pvfs_open.c b/source4/ntvfs/posix/pvfs_open.c
index 3a8b17ab16..1b5ea56d64 100644
--- a/source4/ntvfs/posix/pvfs_open.c
+++ b/source4/ntvfs/posix/pvfs_open.c
@@ -296,9 +296,10 @@ static NTSTATUS pvfs_open_directory(struct pvfs_state *pvfs,
}
/* see if we are allowed to open at the same time as existing opens */
- status = odb_open_file(lck, f->handle, f->handle->name->stream_id,
+ status = odb_open_file(lck, f->handle, name->full_name, name->stream_id,
share_access, access_mask, del_on_close,
- name->full_name, OPLOCK_NONE, NULL);
+ io->generic.in.open_disposition,
+ false, OPLOCK_NONE, NULL);
if (!NT_STATUS_IS_OK(status)) {
talloc_free(lck);
@@ -349,9 +350,10 @@ static NTSTATUS pvfs_open_directory(struct pvfs_state *pvfs,
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
- status = odb_open_file(lck, f->handle, f->handle->name->stream_id,
+ status = odb_open_file(lck, f->handle, name->full_name, name->stream_id,
share_access, access_mask, del_on_close,
- name->full_name, OPLOCK_NONE, NULL);
+ io->generic.in.open_disposition,
+ false, OPLOCK_NONE, NULL);
if (!NT_STATUS_IS_OK(status)) {
goto cleanup_delete;
@@ -669,9 +671,10 @@ static NTSTATUS pvfs_create_file(struct pvfs_state *pvfs,
oplock_level = OPLOCK_EXCLUSIVE;
}
- status = odb_open_file(lck, f->handle, name->stream_id,
+ status = odb_open_file(lck, f->handle, name->full_name, name->stream_id,
share_access, access_mask, del_on_close,
- name->full_name, oplock_level, &oplock_granted);
+ io->generic.in.open_disposition,
+ false, oplock_level, &oplock_granted);
talloc_free(lck);
if (!NT_STATUS_IS_OK(status)) {
/* bad news, we must have hit a race - we don't delete the file
@@ -1186,9 +1189,10 @@ NTSTATUS pvfs_open(struct ntvfs_module_context *ntvfs,
}
/* see if we are allowed to open at the same time as existing opens */
- status = odb_open_file(lck, f->handle, f->handle->name->stream_id,
+ status = odb_open_file(lck, f->handle, name->full_name, name->stream_id,
share_access, access_mask, del_on_close,
- name->full_name, oplock_level, &oplock_granted);
+ io->generic.in.open_disposition,
+ false, oplock_level, &oplock_granted);
/* on a sharing violation we need to retry when the file is closed by
the other user, or after 1 second */