From dcad0f6fd492506efd9a69b4e32c7bbfa5da90e5 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 29 Sep 2004 13:17:09 +0000 Subject: r2751: this is a new ntvfs design which tries to solve: - the stacking of modules - finding the modules private data - hide the ntvfs details from the calling layer - I set NTVFS_INTERFACE_VERSION 0 till we are closer to release (because we need to solve some async problems with the module stacking) metze (This used to be commit 3ff03b5cb21bb79afdd3b1609be9635f6688a539) --- source4/ntvfs/posix/pvfs_fsinfo.c | 7 ++++--- source4/ntvfs/posix/pvfs_mkdir.c | 10 +++++---- source4/ntvfs/posix/pvfs_open.c | 29 ++++++++++++++------------ source4/ntvfs/posix/pvfs_qfileinfo.c | 16 +++++++------- source4/ntvfs/posix/pvfs_read.c | 7 ++++--- source4/ntvfs/posix/pvfs_rename.c | 5 +++-- source4/ntvfs/posix/pvfs_search.c | 29 +++++++++++++++----------- source4/ntvfs/posix/pvfs_setfileinfo.c | 7 ++++--- source4/ntvfs/posix/pvfs_unlink.c | 5 +++-- source4/ntvfs/posix/pvfs_write.c | 9 ++++---- source4/ntvfs/posix/vfs_posix.c | 38 +++++++++++++++++++++------------- source4/ntvfs/posix/vfs_posix.h | 2 -- 12 files changed, 95 insertions(+), 69 deletions(-) (limited to 'source4/ntvfs/posix') diff --git a/source4/ntvfs/posix/pvfs_fsinfo.c b/source4/ntvfs/posix/pvfs_fsinfo.c index f1c42e8920..a9153b4c19 100644 --- a/source4/ntvfs/posix/pvfs_fsinfo.c +++ b/source4/ntvfs/posix/pvfs_fsinfo.c @@ -27,13 +27,14 @@ /* return filesystem space info */ -NTSTATUS pvfs_fsinfo(struct smbsrv_request *req, union smb_fsinfo *fs) +NTSTATUS pvfs_fsinfo(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_fsinfo *fs) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct stat st; if (fs->generic.level != RAW_QFS_GENERIC) { - return ntvfs_map_fsinfo(req, fs, pvfs->ops); + return ntvfs_map_fsinfo(req, fs, ntvfs); } if (sys_fsusage(pvfs->base_directory, diff --git a/source4/ntvfs/posix/pvfs_mkdir.c b/source4/ntvfs/posix/pvfs_mkdir.c index de51d2e8fd..d7dcc7dd50 100644 --- a/source4/ntvfs/posix/pvfs_mkdir.c +++ b/source4/ntvfs/posix/pvfs_mkdir.c @@ -26,9 +26,10 @@ /* create a directory */ -NTSTATUS pvfs_mkdir(struct smbsrv_request *req, union smb_mkdir *md) +NTSTATUS pvfs_mkdir(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_mkdir *md) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; NTSTATUS status; struct pvfs_filename *name; @@ -60,9 +61,10 @@ NTSTATUS pvfs_mkdir(struct smbsrv_request *req, union smb_mkdir *md) /* remove a directory */ -NTSTATUS pvfs_rmdir(struct smbsrv_request *req, struct smb_rmdir *rd) +NTSTATUS pvfs_rmdir(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, struct smb_rmdir *rd) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; NTSTATUS status; struct pvfs_filename *name; diff --git a/source4/ntvfs/posix/pvfs_open.c b/source4/ntvfs/posix/pvfs_open.c index f3bec4085e..560d194a34 100644 --- a/source4/ntvfs/posix/pvfs_open.c +++ b/source4/ntvfs/posix/pvfs_open.c @@ -27,9 +27,9 @@ /* find open file handle given fnum */ -struct pvfs_file *pvfs_find_fd(struct smbsrv_request *req, uint16_t fnum) +struct pvfs_file *pvfs_find_fd(struct pvfs_state *pvfs, + struct smbsrv_request *req, uint16_t fnum) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); struct pvfs_file *f; for (f=pvfs->open_files;f;f=f->next) { if (f->fnum == fnum) { @@ -63,16 +63,17 @@ static int pvfs_fd_destructor(void *p) TODO: this is a temporary implementation derived from the simple backend its purpose is to allow other tests to run */ -NTSTATUS pvfs_open(struct smbsrv_request *req, union smb_open *io) +NTSTATUS pvfs_open(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_open *io) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; int fd, flags; struct pvfs_filename *name; struct pvfs_file *f; NTSTATUS status; if (io->generic.level != RAW_OPEN_GENERIC) { - return ntvfs_map_open(req, io, pvfs->ops); + return ntvfs_map_open(req, io, ntvfs); } /* resolve the cifs name to a posix name */ @@ -179,9 +180,10 @@ do_open: /* close a file */ -NTSTATUS pvfs_close(struct smbsrv_request *req, union smb_close *io) +NTSTATUS pvfs_close(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_close *io) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_file *f; NTSTATUS status; @@ -190,7 +192,7 @@ NTSTATUS pvfs_close(struct smbsrv_request *req, union smb_close *io) return NT_STATUS_INVALID_LEVEL; } - f = pvfs_find_fd(req, io->close.in.fnum); + f = pvfs_find_fd(pvfs, req, io->close.in.fnum); if (!f) { return NT_STATUS_INVALID_HANDLE; } @@ -213,9 +215,10 @@ NTSTATUS pvfs_close(struct smbsrv_request *req, union smb_close *io) /* logoff - close all file descriptors open by a vuid */ -NTSTATUS pvfs_logoff(struct smbsrv_request *req) +NTSTATUS pvfs_logoff(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_file *f, *next; for (f=pvfs->open_files;f;f=next) { @@ -234,9 +237,10 @@ NTSTATUS pvfs_logoff(struct smbsrv_request *req) /* exit - close files for the current pid */ -NTSTATUS pvfs_exit(struct smbsrv_request *req) +NTSTATUS pvfs_exit(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_file *f, *next; for (f=pvfs->open_files;f;f=next) { @@ -250,4 +254,3 @@ NTSTATUS pvfs_exit(struct smbsrv_request *req) return NT_STATUS_OK; } - diff --git a/source4/ntvfs/posix/pvfs_qfileinfo.c b/source4/ntvfs/posix/pvfs_qfileinfo.c index 81706bcfe8..30390722d1 100644 --- a/source4/ntvfs/posix/pvfs_qfileinfo.c +++ b/source4/ntvfs/posix/pvfs_qfileinfo.c @@ -78,14 +78,15 @@ static NTSTATUS pvfs_map_fileinfo(struct pvfs_state *pvfs, TALLOC_CTX *mem_ctx, /* return info on a pathname */ -NTSTATUS pvfs_qpathinfo(struct smbsrv_request *req, union smb_fileinfo *info) +NTSTATUS pvfs_qpathinfo(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_fileinfo *info) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_filename *name; NTSTATUS status; if (info->generic.level != RAW_FILEINFO_GENERIC) { - return ntvfs_map_qpathinfo(req, info, pvfs->ops); + return ntvfs_map_qpathinfo(req, info, ntvfs); } /* resolve the cifs name to a posix name */ @@ -104,17 +105,18 @@ NTSTATUS pvfs_qpathinfo(struct smbsrv_request *req, union smb_fileinfo *info) /* query info on a open file */ -NTSTATUS pvfs_qfileinfo(struct smbsrv_request *req, union smb_fileinfo *info) +NTSTATUS pvfs_qfileinfo(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_fileinfo *info) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_file *f; NTSTATUS status; if (info->generic.level != RAW_FILEINFO_GENERIC) { - return ntvfs_map_qfileinfo(req, info, pvfs->ops); + return ntvfs_map_qfileinfo(req, info, ntvfs); } - f = pvfs_find_fd(req, info->generic.in.fnum); + f = pvfs_find_fd(pvfs, req, info->generic.in.fnum); if (!f) { return NT_STATUS_INVALID_HANDLE; } diff --git a/source4/ntvfs/posix/pvfs_read.c b/source4/ntvfs/posix/pvfs_read.c index 72ac00a32d..e0c7e0b1f2 100644 --- a/source4/ntvfs/posix/pvfs_read.c +++ b/source4/ntvfs/posix/pvfs_read.c @@ -26,9 +26,10 @@ /* read from a file */ -NTSTATUS pvfs_read(struct smbsrv_request *req, union smb_read *rd) +NTSTATUS pvfs_read(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_read *rd) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; ssize_t ret; struct pvfs_file *f; @@ -37,7 +38,7 @@ NTSTATUS pvfs_read(struct smbsrv_request *req, union smb_read *rd) } - f = pvfs_find_fd(req, rd->readx.in.fnum); + f = pvfs_find_fd(pvfs, req, rd->readx.in.fnum); if (!f) { return NT_STATUS_INVALID_HANDLE; } diff --git a/source4/ntvfs/posix/pvfs_rename.c b/source4/ntvfs/posix/pvfs_rename.c index a58a1e9c6e..51393c9499 100644 --- a/source4/ntvfs/posix/pvfs_rename.c +++ b/source4/ntvfs/posix/pvfs_rename.c @@ -26,9 +26,10 @@ /* rename a set of files */ -NTSTATUS pvfs_rename(struct smbsrv_request *req, union smb_rename *ren) +NTSTATUS pvfs_rename(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_rename *ren) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; NTSTATUS status; struct pvfs_filename *name1, *name2; diff --git a/source4/ntvfs/posix/pvfs_search.c b/source4/ntvfs/posix/pvfs_search.c index 414b010263..f8d538bab2 100644 --- a/source4/ntvfs/posix/pvfs_search.c +++ b/source4/ntvfs/posix/pvfs_search.c @@ -250,12 +250,13 @@ again: /* list files in a directory matching a wildcard pattern - old SMBsearch interface */ -static NTSTATUS pvfs_search_first_old(struct smbsrv_request *req, union smb_search_first *io, +static NTSTATUS pvfs_search_first_old(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_search_first *io, void *search_private, BOOL (*callback)(void *, union smb_search_data *)) { struct pvfs_dir *dir; - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_search_state *search; uint_t reply_count; uint16_t search_attrib; @@ -327,11 +328,12 @@ static NTSTATUS pvfs_search_first_old(struct smbsrv_request *req, union smb_sear } /* continue a old style search */ -static NTSTATUS pvfs_search_next_old(struct smbsrv_request *req, union smb_search_next *io, +static NTSTATUS pvfs_search_next_old(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_search_next *io, void *search_private, BOOL (*callback)(void *, union smb_search_data *)) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_search_state *search; struct pvfs_dir *dir; uint_t reply_count, max_count; @@ -374,12 +376,13 @@ static NTSTATUS pvfs_search_next_old(struct smbsrv_request *req, union smb_searc /* list files in a directory matching a wildcard pattern */ -NTSTATUS pvfs_search_first(struct smbsrv_request *req, union smb_search_first *io, +NTSTATUS pvfs_search_first(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_search_first *io, void *search_private, BOOL (*callback)(void *, union smb_search_data *)) { struct pvfs_dir *dir; - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_search_state *search; uint_t reply_count; uint16_t search_attrib, max_count; @@ -388,7 +391,7 @@ NTSTATUS pvfs_search_first(struct smbsrv_request *req, union smb_search_first *i struct pvfs_filename *name; if (io->generic.level >= RAW_SEARCH_SEARCH) { - return pvfs_search_first_old(req, io, search_private, callback); + return pvfs_search_first_old(ntvfs, req, io, search_private, callback); } search_attrib = io->t2ffirst.in.search_attrib; @@ -466,11 +469,12 @@ NTSTATUS pvfs_search_first(struct smbsrv_request *req, union smb_search_first *i } /* continue a search */ -NTSTATUS pvfs_search_next(struct smbsrv_request *req, union smb_search_next *io, +NTSTATUS pvfs_search_next(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_search_next *io, void *search_private, BOOL (*callback)(void *, union smb_search_data *)) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_search_state *search; struct pvfs_dir *dir; uint_t reply_count; @@ -479,7 +483,7 @@ NTSTATUS pvfs_search_next(struct smbsrv_request *req, union smb_search_next *io, int i; if (io->generic.level >= RAW_SEARCH_SEARCH) { - return pvfs_search_next_old(req, io, search_private, callback); + return pvfs_search_next_old(ntvfs, req, io, search_private, callback); } handle = io->t2fnext.in.handle; @@ -545,9 +549,10 @@ found: } /* close a search */ -NTSTATUS pvfs_search_close(struct smbsrv_request *req, union smb_search_close *io) +NTSTATUS pvfs_search_close(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_search_close *io) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_search_state *search; uint16_t handle; diff --git a/source4/ntvfs/posix/pvfs_setfileinfo.c b/source4/ntvfs/posix/pvfs_setfileinfo.c index 2ea2fdaf8e..f1d5d14089 100644 --- a/source4/ntvfs/posix/pvfs_setfileinfo.c +++ b/source4/ntvfs/posix/pvfs_setfileinfo.c @@ -26,14 +26,15 @@ /* set info on a open file */ -NTSTATUS pvfs_setfileinfo(struct smbsrv_request *req, +NTSTATUS pvfs_setfileinfo(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_setfileinfo *info) { - NTVFS_GET_PRIVATE(pvfs_private, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct utimbuf unix_times; struct pvfs_file *f; - f = pvfs_find_fd(req, info->generic.file.fnum); + f = pvfs_find_fd(pvfs, req, info->generic.file.fnum); if (!f) { return NT_STATUS_INVALID_HANDLE; } diff --git a/source4/ntvfs/posix/pvfs_unlink.c b/source4/ntvfs/posix/pvfs_unlink.c index 9e0353c041..0f4ff8b148 100644 --- a/source4/ntvfs/posix/pvfs_unlink.c +++ b/source4/ntvfs/posix/pvfs_unlink.c @@ -61,9 +61,10 @@ static NTSTATUS pvfs_unlink_one(struct pvfs_state *pvfs, TALLOC_CTX *mem_ctx, delete a file - the dirtype specifies the file types to include in the search. The name can contain CIFS wildcards, but rarely does (except with OS/2 clients) */ -NTSTATUS pvfs_unlink(struct smbsrv_request *req, struct smb_unlink *unl) +NTSTATUS pvfs_unlink(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, struct smb_unlink *unl) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_dir *dir; NTSTATUS status; uint32_t i, total_deleted=0; diff --git a/source4/ntvfs/posix/pvfs_write.c b/source4/ntvfs/posix/pvfs_write.c index 02ba1b8228..a49f4fe947 100644 --- a/source4/ntvfs/posix/pvfs_write.c +++ b/source4/ntvfs/posix/pvfs_write.c @@ -27,15 +27,16 @@ /* write to a file */ -NTSTATUS pvfs_write(struct smbsrv_request *req, union smb_write *wr) +NTSTATUS pvfs_write(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_write *wr) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; ssize_t ret; struct pvfs_file *f; switch (wr->generic.level) { case RAW_WRITE_WRITEX: - f = pvfs_find_fd(req, wr->writex.in.fnum); + f = pvfs_find_fd(pvfs, req, wr->writex.in.fnum); if (!f) { return NT_STATUS_INVALID_HANDLE; } @@ -53,7 +54,7 @@ NTSTATUS pvfs_write(struct smbsrv_request *req, union smb_write *wr) return NT_STATUS_OK; case RAW_WRITE_WRITE: - f = pvfs_find_fd(req, wr->write.in.fnum); + f = pvfs_find_fd(pvfs, req, wr->write.in.fnum); if (!f) { return NT_STATUS_INVALID_HANDLE; } diff --git a/source4/ntvfs/posix/vfs_posix.c b/source4/ntvfs/posix/vfs_posix.c index 7ae7c6759a..44875f1879 100644 --- a/source4/ntvfs/posix/vfs_posix.c +++ b/source4/ntvfs/posix/vfs_posix.c @@ -50,7 +50,8 @@ static void pvfs_setup_options(struct pvfs_state *pvfs) directory exists (tho it doesn't need to be accessible by the user, that comes later) */ -static NTSTATUS pvfs_connect(struct smbsrv_request *req, const char *sharename, int depth) +static NTSTATUS pvfs_connect(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, const char *sharename) { struct smbsrv_tcon *tcon = req->tcon; struct pvfs_state *pvfs; @@ -71,7 +72,6 @@ static NTSTATUS pvfs_connect(struct smbsrv_request *req, const char *sharename, pvfs->tcon = tcon; pvfs->base_directory = base_directory; - pvfs->ops = ntvfs_backend_byname("posix", NTVFS_DISK); /* the directory must exist. Note that we deliberately don't check that it is readable */ @@ -84,7 +84,7 @@ static NTSTATUS pvfs_connect(struct smbsrv_request *req, const char *sharename, tcon->fs_type = talloc_strdup(tcon, "NTFS"); tcon->dev_type = talloc_strdup(tcon, "A:"); - ntvfs_set_private(tcon, depth, pvfs); + ntvfs->private_data = pvfs; pvfs_setup_options(pvfs); @@ -94,7 +94,8 @@ static NTSTATUS pvfs_connect(struct smbsrv_request *req, const char *sharename, /* disconnect from a share */ -static NTSTATUS pvfs_disconnect(struct smbsrv_tcon *tcon, int depth) +static NTSTATUS pvfs_disconnect(struct ntvfs_module_context *ntvfs, + struct smbsrv_tcon *tcon) { return NT_STATUS_OK; } @@ -102,7 +103,8 @@ static NTSTATUS pvfs_disconnect(struct smbsrv_tcon *tcon, int depth) /* ioctl interface - we don't do any */ -static NTSTATUS pvfs_ioctl(struct smbsrv_request *req, union smb_ioctl *io) +static NTSTATUS pvfs_ioctl(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_ioctl *io) { return NT_STATUS_INVALID_PARAMETER; } @@ -110,9 +112,10 @@ static NTSTATUS pvfs_ioctl(struct smbsrv_request *req, union smb_ioctl *io) /* check if a directory exists */ -static NTSTATUS pvfs_chkpath(struct smbsrv_request *req, struct smb_chkpath *cp) +static NTSTATUS pvfs_chkpath(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, struct smb_chkpath *cp) { - NTVFS_GET_PRIVATE(pvfs_state, pvfs, req); + struct pvfs_state *pvfs = ntvfs->private_data; struct pvfs_filename *name; NTSTATUS status; @@ -136,7 +139,8 @@ static NTSTATUS pvfs_chkpath(struct smbsrv_request *req, struct smb_chkpath *cp) /* copy a set of files */ -static NTSTATUS pvfs_copy(struct smbsrv_request *req, struct smb_copy *cp) +static NTSTATUS pvfs_copy(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, struct smb_copy *cp) { DEBUG(0,("pvfs_copy not implemented\n")); return NT_STATUS_NOT_SUPPORTED; @@ -145,7 +149,8 @@ static NTSTATUS pvfs_copy(struct smbsrv_request *req, struct smb_copy *cp) /* seek in a file */ -static NTSTATUS pvfs_seek(struct smbsrv_request *req, struct smb_seek *io) +static NTSTATUS pvfs_seek(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, struct smb_seek *io) { DEBUG(0,("pvfs_seek not implemented\n")); return NT_STATUS_NOT_SUPPORTED; @@ -154,7 +159,8 @@ static NTSTATUS pvfs_seek(struct smbsrv_request *req, struct smb_seek *io) /* flush a file */ -static NTSTATUS pvfs_flush(struct smbsrv_request *req, struct smb_flush *io) +static NTSTATUS pvfs_flush(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, struct smb_flush *io) { DEBUG(0,("pvfs_flush not implemented\n")); return NT_STATUS_NOT_IMPLEMENTED; @@ -163,7 +169,8 @@ static NTSTATUS pvfs_flush(struct smbsrv_request *req, struct smb_flush *io) /* lock a byte range */ -static NTSTATUS pvfs_lock(struct smbsrv_request *req, union smb_lock *lck) +static NTSTATUS pvfs_lock(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_lock *lck) { DEBUG(0,("pvfs_lock not implemented\n")); return NT_STATUS_NOT_IMPLEMENTED; @@ -172,7 +179,8 @@ static NTSTATUS pvfs_lock(struct smbsrv_request *req, union smb_lock *lck) /* set info on a pathname */ -static NTSTATUS pvfs_setpathinfo(struct smbsrv_request *req, union smb_setfileinfo *st) +static NTSTATUS pvfs_setpathinfo(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_setfileinfo *st) { DEBUG(0,("pvfs_setpathinfo not implemented\n")); return NT_STATUS_NOT_SUPPORTED; @@ -181,13 +189,15 @@ static NTSTATUS pvfs_setpathinfo(struct smbsrv_request *req, union smb_setfilein /* return print queue info */ -static NTSTATUS pvfs_lpq(struct smbsrv_request *req, union smb_lpq *lpq) +static NTSTATUS pvfs_lpq(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, union smb_lpq *lpq) { return NT_STATUS_NOT_SUPPORTED; } /* SMBtrans - not used on file shares */ -static NTSTATUS pvfs_trans(struct smbsrv_request *req, struct smb_trans2 *trans2) +static NTSTATUS pvfs_trans(struct ntvfs_module_context *ntvfs, + struct smbsrv_request *req, struct smb_trans2 *trans2) { return NT_STATUS_ACCESS_DENIED; } diff --git a/source4/ntvfs/posix/vfs_posix.h b/source4/ntvfs/posix/vfs_posix.h index 96ab7f85b2..0daacf2c33 100644 --- a/source4/ntvfs/posix/vfs_posix.h +++ b/source4/ntvfs/posix/vfs_posix.h @@ -49,8 +49,6 @@ struct pvfs_state { } search; struct pvfs_file *open_files; - - const struct ntvfs_ops *ops; }; -- cgit