diff options
author | Tim Prouty <tprouty@samba.org> | 2008-10-23 20:49:55 -0700 |
---|---|---|
committer | Steven Danneman <steven.danneman@isilon.com> | 2008-12-02 20:35:45 -0800 |
commit | 239f815e30a4e5f64112a8da6401614eb3218eb5 (patch) | |
tree | 5e16e11fda23c55f0efe091b3b6c32660db24132 | |
parent | c09e04ac83365333605b7b1db3d07ccfd451a667 (diff) | |
download | samba-239f815e30a4e5f64112a8da6401614eb3218eb5.tar.gz samba-239f815e30a4e5f64112a8da6401614eb3218eb5.tar.bz2 samba-239f815e30a4e5f64112a8da6401614eb3218eb5.zip |
Add OneFS VFS module skeleton.
Also set configure to autodetect OneFS OS and build this VFS module.
-rw-r--r-- | source3/Makefile.in | 5 | ||||
-rw-r--r-- | source3/configure.in | 15 | ||||
-rw-r--r-- | source3/modules/vfs_onefs.c | 33 |
3 files changed, 53 insertions, 0 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in index 37c48d4286..3102723a70 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -650,6 +650,7 @@ VFS_SYNCOPS_OBJ = modules/vfs_syncops.o VFS_ACL_XATTR_OBJ = modules/vfs_acl_xattr.o VFS_ACL_TDB_OBJ = modules/vfs_acl_tdb.o VFS_SMB_TRAFFIC_ANALYZER_OBJ = modules/vfs_smb_traffic_analyzer.o +VFS_ONEFS_OBJ = modules/vfs_onefs.o PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o @@ -2479,6 +2480,10 @@ bin/acl_tdb.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ACL_TDB_OBJ) @echo "Building plugin $@" @$(SHLD_MODULE) $(VFS_ACL_TDB_OBJ) +bin/onefs.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ONEFS_OBJ) + @echo "Building plugin $@" + @$(SHLD_MODULE) $(VFS_ONEFS_OBJ) + bin/registry.@SHLIBEXT@: $(BINARY_PREREQS) libgpo/gpext/registry.o @echo "Building plugin $@" @$(SHLD_MODULE) libgpo/gpext/registry.o diff --git a/source3/configure.in b/source3/configure.in index 79bd63db4f..f596ec5211 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -1052,6 +1052,20 @@ if test x"$samba_cv_HAVE_GPFS" = x"yes"; then fi LIBS="$save_LIBS" +printf "%s" "checking for Isilon OneFS... " +save_LIBS="$LIBS" +LIBS="$LIBS -lisi_version" +AC_TRY_LINK([#include <isi_version/isi_version.h>], + [get_isilon_copyright()], + samba_cv_HAVE_ONEFS=yes, + samba_cv_HAVE_ONEFS=no) +echo $samba_cv_HAVE_ONEFS +if test x"$samba_cv_HAVE_ONEFS" = x"yes"; then + AC_DEFINE(HAVE_ONEFS,1,[Whether building on Isilon OneFS]) + default_shared_modules="$default_shared_modules vfs_onefs" +fi +LIBS="$save_LIBS" + # Note that all the libunwind symbols in the API are defined to internal # platform-specific version, so we must include libunwind.h before checking # any of them. @@ -6127,6 +6141,7 @@ SMB_MODULE(vfs_notify_fam, \$(VFS_NOTIFY_FAM_OBJ), "bin/notify_fam.$SHLIBEXT", V SMB_MODULE(vfs_acl_xattr, \$(VFS_ACL_XATTR_OBJ), "bin/acl_xattr.$SHLIBEXT", VFS) SMB_MODULE(vfs_acl_tdb, \$(VFS_ACL_TDB_OBJ), "bin/acl_tdb.$SHLIBEXT", VFS) SMB_MODULE(vfs_smb_traffic_analyzer, \$(VFS_SMB_TRAFFIC_ANALYZER_OBJ), "bin/smb_traffic_analyzer.$SHLIBEXT", VFS) +SMB_MODULE(vfs_onefs, \$(VFS_ONEFS), "bin/onefs.$SHLIBEXT", VFS) SMB_SUBSYSTEM(VFS,smbd/vfs.o) diff --git a/source3/modules/vfs_onefs.c b/source3/modules/vfs_onefs.c new file mode 100644 index 0000000000..508f5c560e --- /dev/null +++ b/source3/modules/vfs_onefs.c @@ -0,0 +1,33 @@ +/* + * Support for OneFS + * + * Copyright (C) Tim Prouty, 2008 + * + * 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" + +#undef DBGC_CLASS +#define DBGC_CLASS DBGC_VFS + +static vfs_op_tuple onefs_ops[] = { + {SMB_VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP} +}; + +NTSTATUS vfs_onefs_init(void) +{ + return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "onefs", + onefs_ops); +} |