summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix/pvfs_qfileinfo.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-11-08 03:54:12 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:40 -0500
commit19fc6e8f511f028aa40122cc7e40c83908d07ebe (patch)
tree43fe216bd4812568fc39a01e72ec777bf398066d /source4/ntvfs/posix/pvfs_qfileinfo.c
parentce51a06f029e78212b3f02e1433f050bec394152 (diff)
downloadsamba-19fc6e8f511f028aa40122cc7e40c83908d07ebe.tar.gz
samba-19fc6e8f511f028aa40122cc7e40c83908d07ebe.tar.bz2
samba-19fc6e8f511f028aa40122cc7e40c83908d07ebe.zip
r3615: split out struct pvfs_file_handle from struct pvfs_file. This is in
preparation for adding code to pass the BASE-DENY1 and BASE-DENYDOS tests, which require a shared filesystem handle for some specific combinations of two DENY_DOS opens on the same connection. (This used to be commit 6e4fdf01d19051e3923d7703dbf990fc1722b09a)
Diffstat (limited to 'source4/ntvfs/posix/pvfs_qfileinfo.c')
-rw-r--r--source4/ntvfs/posix/pvfs_qfileinfo.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/source4/ntvfs/posix/pvfs_qfileinfo.c b/source4/ntvfs/posix/pvfs_qfileinfo.c
index 5847b1a2cc..fee3b19c9f 100644
--- a/source4/ntvfs/posix/pvfs_qfileinfo.c
+++ b/source4/ntvfs/posix/pvfs_qfileinfo.c
@@ -242,27 +242,29 @@ NTSTATUS pvfs_qfileinfo(struct ntvfs_module_context *ntvfs,
{
struct pvfs_state *pvfs = ntvfs->private_data;
struct pvfs_file *f;
+ struct pvfs_file_handle *h;
NTSTATUS status;
f = pvfs_find_fd(pvfs, req, info->generic.in.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
+ h = f->handle;
/* update the file information */
- status = pvfs_resolve_name_fd(pvfs, f->fd, f->name);
+ status = pvfs_resolve_name_fd(pvfs, h->fd, h->name);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
- status = pvfs_map_fileinfo(pvfs, req, f->name, info, f->fd);
+ status = pvfs_map_fileinfo(pvfs, req, h->name, info, h->fd);
/* a qfileinfo can fill in a bit more info than a qpathinfo -
now modify the levels that need to be fixed up */
switch (info->generic.level) {
case RAW_FILEINFO_STANDARD_INFO:
case RAW_FILEINFO_STANDARD_INFORMATION:
- if (f->create_options & NTCREATEX_OPTIONS_DELETE_ON_CLOSE) {
+ if (h->create_options & NTCREATEX_OPTIONS_DELETE_ON_CLOSE) {
info->standard_info.out.delete_pending = 1;
info->standard_info.out.nlink--;
}
@@ -270,22 +272,22 @@ NTSTATUS pvfs_qfileinfo(struct ntvfs_module_context *ntvfs,
case RAW_FILEINFO_ALL_INFO:
case RAW_FILEINFO_ALL_INFORMATION:
- if (f->create_options & NTCREATEX_OPTIONS_DELETE_ON_CLOSE) {
+ if (h->create_options & NTCREATEX_OPTIONS_DELETE_ON_CLOSE) {
info->all_info.out.delete_pending = 1;
info->all_info.out.nlink--;
}
break;
case RAW_FILEINFO_POSITION_INFORMATION:
- info->position_information.out.position = f->position;
+ info->position_information.out.position = h->position;
break;
case RAW_FILEINFO_ACCESS_INFORMATION:
- info->access_information.out.access_flags = f->access_mask;
+ info->access_information.out.access_flags = h->access_mask;
break;
case RAW_FILEINFO_MODE_INFORMATION:
- info->mode_information.out.mode = f->mode;
+ info->mode_information.out.mode = h->mode;
break;
default: