diff -uNr samba-3.0.28.org/source/Makefile.in samba-3.0.28/source/Makefile.in --- samba-3.0.28.org/source/Makefile.in 2007-11-15 12:15:03.000000000 +0900 +++ samba-3.0.28/source/Makefile.in 2007-12-31 00:45:53.000000000 +0900 @@ -431,6 +431,7 @@ VFS_GPFS_OBJ = modules/vfs_gpfs.o modules/gpfs.o modules/nfs4_acls.o VFS_NOTIFY_FAM_OBJ = modules/vfs_notify_fam.o VFS_READAHEAD_OBJ = modules/vfs_readahead.o +VFS_NOFLOCK_OBJ = modules/vfs_noflock.o PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o @@ -1512,6 +1513,11 @@ @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_READAHEAD_OBJ) \ @SONAMEFLAG@`basename $@` +bin/noflock.@SHLIBEXT@: $(VFS_NOFLOCK_OBJ) + @echo "Building plugin $@" + @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_NOFLOCK_OBJ) \ + @SONAMEFLAG@`basename $@` + ######################################################### ## IdMap NSS plugins diff -uNr samba-3.0.28.org/source/configure.in samba-3.0.28/source/configure.in --- samba-3.0.28.org/source/configure.in 2007-11-21 12:58:01.000000000 +0900 +++ samba-3.0.28/source/configure.in 2007-12-31 00:46:13.000000000 +0900 @@ -603,7 +603,7 @@ default_static_modules="pdb_smbpasswd pdb_tdbsam rpc_lsa rpc_samr rpc_reg rpc_shutdown rpc_lsa_ds rpc_wkssvc rpc_svcctl rpc_ntsvcs rpc_net rpc_netdfs rpc_srvsvc rpc_spoolss rpc_eventlog rpc_echo auth_sam auth_unix auth_winbind auth_server auth_domain auth_builtin vfs_default nss_info_template" dnl These are preferably build shared, and static if dlopen() is not available -default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy charset_CP850 charset_CP437 auth_script vfs_readahead" +default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy charset_CP850 charset_CP437 auth_script vfs_readahead vfs_noflock" if test "x$developer" = xyes; then default_static_modules="$default_static_modules rpc_rpcecho" @@ -6099,6 +6099,7 @@ 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_readahead, \$(VFS_READAHEAD_OBJ), "bin/readahead.$SHLIBEXT", VFS) +SMB_MODULE(vfs_noflock, \$(VFS_NOFLOCK_OBJ), "bin/noflock.$SHLIBEXT", VFS) SMB_SUBSYSTEM(VFS,smbd/vfs.o) diff -uNr samba-3.0.28.org/source/include/config.h.in samba-3.0.28/source/include/config.h.in --- samba-3.0.28.org/source/include/config.h.in 2007-12-11 01:04:29.000000000 +0900 +++ samba-3.0.28/source/include/config.h.in 2007-12-31 00:47:03.000000000 +0900 @@ -2849,5 +2849,8 @@ /* Whether to build vfs_tru64acl as shared module */ #undef vfs_tru64acl_init +/* Whether to build vfs_noflock as shared module */ +#undef vfs_noflock_init + /* Define to `unsigned short' if does not define. */ #undef wchar_t diff -uNr samba-3.0.28.org/source/modules/vfs_noflock.c samba-3.0.28/source/modules/vfs_noflock.c --- samba-3.0.28.org/source/modules/vfs_noflock.c 1970-01-01 09:00:00.000000000 +0900 +++ samba-3.0.28/source/modules/vfs_noflock.c 2007-12-31 00:47:48.000000000 +0900 @@ -0,0 +1,18 @@ +/* + Copyright = public domain! +*/ +#include "includes.h" +static int noflock_kernel_flock(vfs_handle_struct *handle, files_struct *fsp, int fd, uint32 share_mode) +{ + return 0; +} +/* VFS operations structure */ +static vfs_op_tuple noflock_op_tuples[] = { + {SMB_VFS_OP(noflock_kernel_flock), SMB_VFS_OP_KERNEL_FLOCK, SMB_VFS_LAYER_OPAQUE}, + {SMB_VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP} +}; +NTSTATUS vfs_noflock_init(void); +NTSTATUS vfs_noflock_init(void) +{ + return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "noflock", noflock_op_tuples); +}