summaryrefslogtreecommitdiff
path: root/source3/modules
diff options
context:
space:
mode:
Diffstat (limited to 'source3/modules')
-rw-r--r--source3/modules/gpfs.c10
-rw-r--r--source3/modules/vfs_gpfs.c13
2 files changed, 16 insertions, 7 deletions
diff --git a/source3/modules/gpfs.c b/source3/modules/gpfs.c
index 4e76b97ccf..c4b2518e02 100644
--- a/source3/modules/gpfs.c
+++ b/source3/modules/gpfs.c
@@ -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;
diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c
index fa0b4e97a5..a9e7a84249 100644
--- a/source3/modules/vfs_gpfs.c
+++ b/source3/modules/vfs_gpfs.c
@@ -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 },