[PATCH] vfs_gpfs: Fix compile after change in get_nt_acl_fn

Christof Schmitt cs at samba.org
Thu Feb 25 21:35:15 UTC 2016


On Thu, Feb 25, 2016 at 12:58:46PM -0800, Jeremy Allison wrote:
> On Thu, Feb 25, 2016 at 01:46:29PM -0700, Christof Schmitt wrote:
> > From 75ca14dff08e7cb8c777853f39d3179780921697 Mon Sep 17 00:00:00 2001
> > From: Christof Schmitt <cs at samba.org>
> > Date: Thu, 25 Feb 2016 13:42:21 -0700
> > Subject: [PATCH] vfs_gpfs: Fix compile after change in get_nt_acl_fn
> 
> Gah - sorry about that Christof. LGTM - pushed. I'll also check
> the mkdir/rmdir changes I made against gpfs too (and I'll add
> it to the list of modules I don't compile but need checking
> for VFS changes :-).

Thank you.

FYI, only the gpfs.h header file is required to build the module. A copy
is here (with the version used there, both files are required):
https://raw.githubusercontent.com/nfs-ganesha/nfs-ganesha/5804ebed5ea531af565c7c160026268c58c2337f/src/FSAL/FSAL_GPFS/include/gpfs.h
https://raw.githubusercontent.com/nfs-ganesha/nfs-ganesha/master/src/FSAL/FSAL_GPFS/include/gpfs_lweTypes.h
and then
./configure --with-gpfs=/path/to/dir/
where you have the file should be enough.

I am still planning to propose adding the gpfs.h file to third_party,
have the vfs_gpfs module always built and avoid these compile
regressions. Just need some time to work through the details.

Christof

> 
> Sorry.
> 
> Jeremy.
> 
> > Signed-off-by: Christof Schmitt <cs at samba.org>
> > ---
> >  source3/modules/vfs_gpfs.c | 21 ++++++++++++---------
> >  1 file changed, 12 insertions(+), 9 deletions(-)
> > 
> > diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c
> > index 2216d1d..33a30d0 100644
> > --- a/source3/modules/vfs_gpfs.c
> > +++ b/source3/modules/vfs_gpfs.c
> > @@ -585,9 +585,10 @@ static NTSTATUS gpfsacl_fget_nt_acl(vfs_handle_struct *handle,
> >  }
> >  
> >  static NTSTATUS gpfsacl_get_nt_acl(vfs_handle_struct *handle,
> > -	const char *name,
> > -	uint32_t security_info,
> > -	TALLOC_CTX *mem_ctx, struct security_descriptor **ppdesc)
> > +				   const struct smb_filename *smb_fname,
> > +				   uint32_t security_info,
> > +				   TALLOC_CTX *mem_ctx,
> > +				   struct security_descriptor **ppdesc)
> >  {
> >  	struct SMB4ACL_T *pacl = NULL;
> >  	int	result;
> > @@ -602,25 +603,27 @@ static NTSTATUS gpfsacl_get_nt_acl(vfs_handle_struct *handle,
> >  				return NT_STATUS_INTERNAL_ERROR);
> >  
> >  	if (!config->acl) {
> > -		status = SMB_VFS_NEXT_GET_NT_ACL(handle, name, security_info,
> > +		status = SMB_VFS_NEXT_GET_NT_ACL(handle, smb_fname,
> > +						 security_info,
> >  						 mem_ctx, ppdesc);
> >  		TALLOC_FREE(frame);
> >  		return status;
> >  	}
> >  
> > -	result = gpfs_get_nfs4_acl(frame, name, &pacl);
> > +	result = gpfs_get_nfs4_acl(frame, smb_fname->base_name, &pacl);
> >  
> >  	if (result == 0) {
> > -		status = smb_get_nt_acl_nfs4(handle->conn, name, security_info,
> > -					   mem_ctx, ppdesc, pacl);
> > +		status = smb_get_nt_acl_nfs4(handle->conn, smb_fname->base_name,
> > +					     security_info, mem_ctx, ppdesc,
> > +					     pacl);
> >  		TALLOC_FREE(frame);
> >  		return status;
> >  	}
> >  
> >  	if (result > 0) {
> >  		DEBUG(10, ("retrying with posix acl...\n"));
> > -		status =  posix_get_nt_acl(handle->conn, name, security_info,
> > -					   mem_ctx, ppdesc);
> > +		status = posix_get_nt_acl(handle->conn, smb_fname->base_name,
> > +					  security_info, mem_ctx, ppdesc);
> >  		TALLOC_FREE(frame);
> >  		return status;
> >  	}
> > -- 
> > 1.8.3.1
> > 



More information about the samba-technical mailing list