diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/Makefile.in | 5 | ||||
-rw-r--r-- | source3/configure.in | 2 | ||||
-rw-r--r-- | source3/modules/vfs_gpfs_hsm_notify.c | 110 | ||||
-rw-r--r-- | source3/modules/wscript_build | 8 | ||||
-rwxr-xr-x | source3/wscript | 2 |
5 files changed, 1 insertions, 126 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in index b8b055a593..57c6c1db1c 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -882,7 +882,6 @@ VFS_CACHEPRIME_OBJ = modules/vfs_cacheprime.o VFS_PREALLOC_OBJ = modules/vfs_prealloc.o VFS_COMMIT_OBJ = modules/vfs_commit.o VFS_GPFS_OBJ = modules/vfs_gpfs.o modules/gpfs.o modules/nfs4_acls.o -VFS_GPFS_HSM_NOTIFY_OBJ = modules/vfs_gpfs_hsm_notify.o VFS_NOTIFY_FAM_OBJ = modules/vfs_notify_fam.o VFS_READAHEAD_OBJ = modules/vfs_readahead.o VFS_TSMSM_OBJ = modules/vfs_tsmsm.o @@ -2849,10 +2848,6 @@ bin/gpfs.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_GPFS_OBJ) @echo "Building plugin $@" @$(SHLD_MODULE) $(VFS_GPFS_OBJ) -bin/gpfs_hsm_notify.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_GPFS_HSM_NOTIFY_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_GPFS_HSM_NOTIFY_OBJ) - bin/notify_fam.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_NOTIFY_FAM_OBJ) @echo "Building plugin $@" @$(SHLD_MODULE) $(VFS_NOTIFY_FAM_OBJ) @SMB_FAM_LIBS@ diff --git a/source3/configure.in b/source3/configure.in index 44fd38dd9c..28894f154a 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -1000,7 +1000,6 @@ AC_CHECK_HEADERS(gpfs_gpl.h) if test x"$ac_cv_header_gpfs_gpl_h" = x"yes"; then AC_DEFINE(HAVE_GPFS,1,[Whether GPFS GPL headers are available]) default_shared_modules="$default_shared_modules vfs_gpfs" - default_shared_modules="$default_shared_modules vfs_gpfs_hsm_notify" fi # Note that all the libunwind symbols in the API are defined to internal @@ -6556,7 +6555,6 @@ SMB_MODULE(vfs_cacheprime, \$(VFS_CACHEPRIME_OBJ), "bin/cacheprime.$SHLIBEXT", V SMB_MODULE(vfs_prealloc, \$(VFS_PREALLOC_OBJ), "bin/prealloc.$SHLIBEXT", VFS) SMB_MODULE(vfs_commit, \$(VFS_COMMIT_OBJ), "bin/commit.$SHLIBEXT", VFS) SMB_MODULE(vfs_gpfs, \$(VFS_GPFS_OBJ), "bin/gpfs.$SHLIBEXT", VFS) -SMB_MODULE(vfs_gpfs_hsm_notify, \$(VFS_GPFS_PREFETCH_OBJ), "bin/gpfs_hsm_notify.$SHLIBEXT", VFS) SMB_MODULE(vfs_readahead, \$(VFS_READAHEAD_OBJ), "bin/readahead.$SHLIBEXT", VFS) SMB_MODULE(vfs_tsmsm, \$(VFS_TSMSM_OBJ), "bin/tsmsm.$SHLIBEXT", VFS) SMB_MODULE(vfs_fileid, \$(VFS_FILEID_OBJ), "bin/fileid.$SHLIBEXT", VFS) diff --git a/source3/modules/vfs_gpfs_hsm_notify.c b/source3/modules/vfs_gpfs_hsm_notify.c deleted file mode 100644 index d53363c460..0000000000 --- a/source3/modules/vfs_gpfs_hsm_notify.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - Unix SMB/CIFS implementation. - Make sure offline->online changes are propagated by notifies - - This module must come before aio_fork in the chain, because - aio_fork (correcly!) does not propagate the aio calls further - - Copyright (C) Volker Lendecke 2011 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "includes.h" -#include "smbd/smbd.h" -#include "librpc/gen_ndr/ndr_xattr.h" -#include "include/smbprofile.h" - -#undef DBGC_CLASS -#define DBGC_CLASS DBGC_VFS - -#include <gpfs_gpl.h> -#include "nfs4_acls.h" -#include "vfs_gpfs.h" - -static ssize_t vfs_gpfs_hsm_notify_pread(vfs_handle_struct *handle, files_struct *fsp, - void *data, size_t n, off_t offset) -{ - ssize_t ret; - - ret = SMB_VFS_NEXT_PREAD(handle, fsp, data, n, offset); - - DEBUG(10, ("vfs_private = %x\n", - (unsigned int)fsp->fsp_name->st.vfs_private)); - - if ((ret != -1) && - ((fsp->fsp_name->st.vfs_private & GPFS_WINATTR_OFFLINE) != 0)) { - fsp->fsp_name->st.vfs_private &= ~GPFS_WINATTR_OFFLINE; - notify_fname(handle->conn, NOTIFY_ACTION_MODIFIED, - FILE_NOTIFY_CHANGE_ATTRIBUTES, - fsp->fsp_name->base_name); - } - - return ret; -} - -static ssize_t vfs_gpfs_hsm_notify_pwrite(struct vfs_handle_struct *handle, - struct files_struct *fsp, - const void *data, size_t n, off_t offset) -{ - ssize_t ret; - - ret = SMB_VFS_NEXT_PWRITE(handle, fsp, data, n, offset); - - if ((ret != -1) && - ((fsp->fsp_name->st.vfs_private & GPFS_WINATTR_OFFLINE) != 0)) { - fsp->fsp_name->st.vfs_private &= ~GPFS_WINATTR_OFFLINE; - notify_fname(handle->conn, NOTIFY_ACTION_MODIFIED, - FILE_NOTIFY_CHANGE_ATTRIBUTES, - fsp->fsp_name->base_name); - } - - return ret; -} - -static ssize_t vfs_gpfs_hsm_notify_aio_return(struct vfs_handle_struct *handle, - struct files_struct *fsp, - SMB_STRUCT_AIOCB *aiocb) -{ - ssize_t ret; - - ret = SMB_VFS_NEXT_AIO_RETURN(handle, fsp, aiocb); - - DEBUG(10, ("vfs_gpfs_hsm_notify_aio_return: vfs_private = %x\n", - (unsigned int)fsp->fsp_name->st.vfs_private)); - - if ((ret != -1) && - ((fsp->fsp_name->st.vfs_private & GPFS_WINATTR_OFFLINE) != 0)) { - fsp->fsp_name->st.vfs_private &= ~GPFS_WINATTR_OFFLINE; - DEBUG(10, ("sending notify\n")); - notify_fname(handle->conn, NOTIFY_ACTION_MODIFIED, - FILE_NOTIFY_CHANGE_ATTRIBUTES, - fsp->fsp_name->base_name); - } - - return ret; -} - -static struct vfs_fn_pointers vfs_gpfs_hsm_notify_fns = { - .pread_fn = vfs_gpfs_hsm_notify_pread, - .pwrite_fn = vfs_gpfs_hsm_notify_pwrite, - .aio_return_fn = vfs_gpfs_hsm_notify_aio_return -}; - -NTSTATUS vfs_gpfs_hsm_notify_init(void); -NTSTATUS vfs_gpfs_hsm_notify_init(void) -{ - return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "gpfs_hsm_notify", - &vfs_gpfs_hsm_notify_fns); -} diff --git a/source3/modules/wscript_build b/source3/modules/wscript_build index 4043292069..eccbfadcd0 100644 --- a/source3/modules/wscript_build +++ b/source3/modules/wscript_build @@ -31,7 +31,6 @@ VFS_CACHEPRIME_SRC = 'vfs_cacheprime.c' VFS_PREALLOC_SRC = 'vfs_prealloc.c' VFS_COMMIT_SRC = 'vfs_commit.c' VFS_GPFS_SRC = 'vfs_gpfs.c gpfs.c' -VFS_GPFS_HSM_NOTIFY_SRC = 'vfs_gpfs_hsm_notify.c' VFS_NOTIFY_FAM_SRC = 'vfs_notify_fam.c' VFS_READAHEAD_SRC = 'vfs_readahead.c' VFS_TSMSM_SRC = 'vfs_tsmsm.c' @@ -317,13 +316,6 @@ bld.SAMBA3_MODULE('vfs_gpfs', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_gpfs'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs')) -bld.SAMBA3_MODULE('vfs_gpfs_hsm_notify', - subsystem='vfs', - source=VFS_GPFS_HSM_NOTIFY_SRC, - init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_gpfs_hsm_notify'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs_hsm_notify')) - bld.SAMBA3_MODULE('vfs_notify_fam', subsystem='vfs', source=VFS_NOTIFY_FAM_SRC, diff --git a/source3/wscript b/source3/wscript index 9b059fa1b3..c807ddcfc9 100755 --- a/source3/wscript +++ b/source3/wscript @@ -1507,7 +1507,7 @@ main() { default_static_modules.extend(TO_LIST('charset_macosxfs')) if conf.CONFIG_SET('HAVE_GPFS'): - default_shared_modules.extend(TO_LIST('vfs_gpfs vfs_gpfs_hsm_notify')) + default_shared_modules.extend(TO_LIST('vfs_gpfs')) explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',') explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',') |