Fix some merge omissions for GPFS
authorVolker Lendecke <vl@samba.org>
Wed, 10 Dec 2008 17:10:03 +0000 (18:10 +0100)
committerVolker Lendecke <vl@samba.org>
Wed, 10 Dec 2008 17:27:10 +0000 (18:27 +0100)
packaging/RHEL-CTDB/configure.rpm
source3/modules/gpfs.c
source3/modules/vfs_gpfs.c

index 7596040..358b40d 100755 (executable)
@@ -1,37 +1,56 @@
+#!/bin/sh
 
 case `uname -m` in
-     x86_64)
-       libdir=/usr/lib64/samba
-       ;;
-     *)
-       libdir=/usr/lib/samba
-       ;;
+       x86_64)
+               _libarch=lib64
+               ;;
+       *)
+               _libarch=lib
+               ;;
 esac
 
-CFLAGS="-Wall -g -D_GNU_SOURCE" ./configure \
-        --prefix=/usr \
-        --localstatedir=/var \
-        --with-configdir=/etc/samba \
-        --with-libdir=$libdir \
-        --with-lockdir=/var/lib/samba \
-        --with-logfilebase=/var/log/samba \
-        --with-mandir=/usr/man \
-        --with-piddir=/var/run \
-        --with-privatedir=/etc/samba \
-        --with-sambabook=/usr/share/swat/using_samba \
-        --with-swatdir=/usr/share/swat \
+_libarchdir=/usr/${_libarch}
+
+_prefix=/usr
+_sysconfdir=/etc
+_mandir=/usr/man
+_datadir=/usr/share
+
+# check for ccache
+ccache -h 2>&1 > /dev/null
+if [ $? -eq 0 ]; then
+       CC="ccache gcc"
+else
+       CC="gcc"
+fi
+
+./autogen.sh
+
+CC="$CC" CFLAGS="-Wall -g -D_GNU_SOURCE" ./configure -C \
+       --prefix=${_prefix} \
+       --localstatedir=/var \
+       --with-configdir=${_sysconfdir}/samba \
+       --with-libdir=${_libarchdir}/samba \
+       --with-pammodulesdir=/${_libarch}/security \
+       --with-lockdir=/var/lib/samba \
+       --with-logfilebase=/var/log/samba \
+       --with-mandir=${_mandir} \
+       --with-piddir=/var/run \
+       --with-privatedir=${_sysconfdir}/samba \
+       --with-sambabook=${_datadir}/swat/using_samba \
+       --with-swatdir=${_datadir}/swat \
        --disable-cups \
-        --with-acl-support \
+       --with-acl-support \
        --with-ads \
-        --with-automount \
-        --with-fhs \
+       --with-automount \
+       --with-fhs \
        --with-pam_smbpass \
        --with-libsmbclient \
        --with-libsmbsharemodes \
-        --without-smbwrapper \
+       --without-smbwrapper \
        --with-pam \
        --with-quotas \
-       --with-shared-modules=idmap_rid,idmap_ad,idmap_tdb2 \
+       --with-shared-modules=idmap_rid,idmap_ad,idmap_tdb2,vfs_gpfs \
        --with-syslog \
        --with-utmp \
        --with-cluster-support \
@@ -40,3 +59,5 @@ CFLAGS="-Wall -g -D_GNU_SOURCE" ./configure \
        --without-dnsupdate \
        --with-aio-support \
        $*
+
+make showlayout
index 4e76b97..c4b2518 100644 (file)
@@ -43,7 +43,7 @@ bool set_gpfs_sharemode(files_struct *fsp, uint32 access_mask,
        if (!gpfs_share_modes) {
                return True;
        }
-       
+
        if (gpfs_set_share_fn == NULL) {
                return False;
        }
@@ -104,7 +104,7 @@ int set_gpfs_lease(int fd, int leasetype)
        if (leasetype == F_WRLCK) {
                gpfs_type = GPFS_LEASE_WRITE;
        }
-       
+
        /* we unconditionally set CAP_LEASE, rather than looking for
           -1/EACCES as there is a bug in some versions of
           libgpfs_gpl.so which results in a leaked fd on /dev/ss0
@@ -143,7 +143,7 @@ static bool init_gpfs_function_lib(void *plibhandle_pointer,
        void **fn_pointer = (void **)pfn_pointer;
 
        if (*libhandle_pointer == NULL) {
-               *libhandle_pointer = dlopen(libname, RTLD_LAZY);
+               *libhandle_pointer = sys_dlopen(libname, RTLD_LAZY);
                did_open_here = true;
        }
        if (*libhandle_pointer == NULL) {
@@ -151,12 +151,12 @@ static bool init_gpfs_function_lib(void *plibhandle_pointer,
                return false;
        }
 
-       *fn_pointer = dlsym(*libhandle_pointer, fn_name);
+       *fn_pointer = sys_dlsym(*libhandle_pointer, fn_name);
        if (*fn_pointer == NULL) {
                DEBUG(10, ("Did not find symbol %s in lib %s\n",
                           fn_name, libname));
                if (did_open_here) {
-                       dlclose(*libhandle_pointer);
+                       sys_dlclose(*libhandle_pointer);
                        *libhandle_pointer = NULL;
                }
                return false;
index fa0b4e9..a9e7a84 100644 (file)
@@ -365,7 +365,7 @@ static bool gpfsacl_process_smbacl(files_struct *fsp, SMB4ACL_T *smbacl)
        return True;
 }
 
-static NTSTATUS gpfsacl_set_nt_acl_internal(files_struct *fsp, uint32 security_info_sent, const SEC_DESC *psd)
+static NTSTATUS gpfsacl_set_nt_acl_internal(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd)
 {
        struct gpfs_acl *acl;
        NTSTATUS result = NT_STATUS_ACCESS_DENIED;
@@ -386,7 +386,12 @@ static NTSTATUS gpfsacl_set_nt_acl_internal(files_struct *fsp, uint32 security_i
        return result;
 }
 
-static NTSTATUS gpfsacl_fset_nt_acl(vfs_handle_struct *handle, files_struct *fsp, uint32 security_info_sent, const SEC_DESC *psd)
+static NTSTATUS gpfsacl_fset_nt_acl(vfs_handle_struct *handle, files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd)
+{
+       return gpfsacl_set_nt_acl_internal(fsp, security_info_sent, psd);
+}
+
+static NTSTATUS gpfsacl_set_nt_acl(vfs_handle_struct *handle, files_struct *fsp, char *name, uint32 security_info_sent, SEC_DESC *psd)
 {
        return gpfsacl_set_nt_acl_internal(fsp, security_info_sent, psd);
 }
@@ -834,6 +839,10 @@ static vfs_op_tuple gpfs_op_tuples[] = {
          SMB_VFS_OP_FSET_NT_ACL,
          SMB_VFS_LAYER_TRANSPARENT },
        
+        { SMB_VFS_OP(gpfsacl_set_nt_acl),
+         SMB_VFS_OP_SET_NT_ACL,
+         SMB_VFS_LAYER_TRANSPARENT },
+
         { SMB_VFS_OP(gpfsacl_sys_acl_get_file), 
          SMB_VFS_OP_SYS_ACL_GET_FILE,
          SMB_VFS_LAYER_TRANSPARENT },