[SCM] Samba Shared Repository - branch master updated

Christian Ambach ambi at samba.org
Fri Oct 12 05:38:02 MDT 2012


The branch, master has been updated
       via  bddd118 s3:smb2_getinfo ensure proper error for not yet present quota support
       via  6d1be1c s3:vfs_gpfs re-indent run-away lines
       via  fa728d1 s3:vfs_gpfs fix the build
       via  e4946cf s3:vfs_gpfs remove a trailing space
       via  12ae181 s3:vfs_gpfs skip local flock when gpfs sharemodes are disabled
      from  ff82afb selftest: Move more tests to common list script.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit bddd1182ea44875f28e12cf15fd07a86f43d8716
Author: Christian Ambach <ambi at samba.org>
Date:   Thu Sep 27 22:09:23 2012 -0700

    s3:smb2_getinfo ensure proper error for not yet present quota support
    
    non-existing quota support needs to be signaled by NT_STATUS_NOT_SUPPORTED,
    not NT_STATUS_INVALID_PARAMETER
    
    Autobuild-User(master): Christian Ambach <ambi at samba.org>
    Autobuild-Date(master): Fri Oct 12 13:37:37 CEST 2012 on sn-devel-104

commit 6d1be1caf925f80badabcbca3a2676398647f4a3
Author: Christian Ambach <ambi at samba.org>
Date:   Fri Oct 12 11:47:04 2012 +0200

    s3:vfs_gpfs re-indent run-away lines
    
    some lines added by the acl_blob additions were longer than 80 chars

commit fa728d1c0b6583c7d11b5540a8d13942a14701f4
Author: Christian Ambach <ambi at samba.org>
Date:   Fri Oct 12 11:45:59 2012 +0200

    s3:vfs_gpfs fix the build
    
    make it compile again after the recent (untested) additions of the acl_blob functions

commit e4946cf10cdc112aaa61291442ce29690fe1c105
Author: Christian Ambach <ambi at samba.org>
Date:   Fri Oct 12 10:32:20 2012 +0200

    s3:vfs_gpfs remove a trailing space

commit 12ae1812d0f123b6b988f597efaabf610f352d30
Author: Christian Ambach <ambi at samba.org>
Date:   Fri Oct 12 10:31:10 2012 +0200

    s3:vfs_gpfs skip local flock when gpfs sharemodes are disabled
    
    no sense in calling local flock when clustered sharemodes should be disabled

-----------------------------------------------------------------------

Summary of changes:
 source3/modules/vfs_gpfs.c  |   39 +++++++++++++++++++++++++++------------
 source3/smbd/smb2_getinfo.c |    4 ++++
 2 files changed, 31 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c
index b3cdca5..8e8c694 100644
--- a/source3/modules/vfs_gpfs.c
+++ b/source3/modules/vfs_gpfs.c
@@ -50,7 +50,7 @@ struct gpfs_config_data {
 };
 
 
-static int vfs_gpfs_kernel_flock(vfs_handle_struct *handle, files_struct *fsp, 
+static int vfs_gpfs_kernel_flock(vfs_handle_struct *handle, files_struct *fsp,
 				 uint32 share_mode, uint32 access_mask)
 {
 
@@ -61,12 +61,15 @@ static int vfs_gpfs_kernel_flock(vfs_handle_struct *handle, files_struct *fsp,
 				struct gpfs_config_data,
 				return -1);
 
+	if(!config->sharemodes) {
+		return 0;
+	}
+
 	START_PROFILE(syscall_kernel_flock);
 
 	kernel_flock(fsp->fh->fd, share_mode, access_mask);
 
-	if (config->sharemodes
-		&& !set_gpfs_sharemode(fsp, access_mask, fsp->share_access)) {
+	if (!set_gpfs_sharemode(fsp, access_mask, fsp->share_access)) {
 		ret = -1;
 	}
 
@@ -362,7 +365,8 @@ static NTSTATUS gpfsacl_fget_nt_acl(vfs_handle_struct *handle,
 				return NT_STATUS_INTERNAL_ERROR);
 
 	if (!config->acl) {
-		return SMB_VFS_NEXT_FGET_NT_ACL(handle, fsp, security_info, ppdesc);
+		return SMB_VFS_NEXT_FGET_NT_ACL(handle, fsp, security_info,
+						mem_ctx, ppdesc);
 	}
 
 	result = gpfs_get_nfs4_acl(fsp->fsp_name->base_name, &pacl);
@@ -395,7 +399,8 @@ static NTSTATUS gpfsacl_get_nt_acl(vfs_handle_struct *handle,
 				return NT_STATUS_INTERNAL_ERROR);
 
 	if (!config->acl) {
-		return SMB_VFS_NEXT_GET_NT_ACL(handle, name, security_info, ppdesc);
+		return SMB_VFS_NEXT_GET_NT_ACL(handle, name, security_info,
+					       mem_ctx, ppdesc);
 	}
 
 	result = gpfs_get_nfs4_acl(name, &pacl);
@@ -709,22 +714,28 @@ static SMB_ACL_T gpfsacl_sys_acl_get_fd(vfs_handle_struct *handle,
 				     GPFS_ACL_TYPE_ACCESS, mem_ctx);
 }
 
-static int gpfsacl_sys_acl_blob_get_file(vfs_handle_struct *handle, const char *path_p,
+static int gpfsacl_sys_acl_blob_get_file(vfs_handle_struct *handle,
+				      const char *path_p,
 				      TALLOC_CTX *mem_ctx,
 				      char **blob_description,
 				      DATA_BLOB *blob)
 {
 	struct gpfs_config_data *config;
+	SMB4ACL_T *pacl = NULL;
+	int result;
 
 	SMB_VFS_HANDLE_GET_DATA(handle, config,
 				struct gpfs_config_data,
-				return NULL);
+				return -1);
 
 	if (!config->acl) {
-		return SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, mem_ctx, blob_description, blob);
+		return SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p,
+							  mem_ctx,
+							  blob_description,
+							  blob);
 	}
 
-	result = gpfs_get_nfs4_acl(name, &pacl);
+	result = gpfs_get_nfs4_acl(path_p, &pacl);
 	if (result == 0) {
 		/* We don't have a way to linearlise the NFS4 ACL
 		 * right now, and it is much closer to the NT ACL
@@ -737,19 +748,23 @@ static int gpfsacl_sys_acl_blob_get_file(vfs_handle_struct *handle, const char *
 					   blob_description, blob);
 }
 
-static int gpfsacl_sys_acl_blob_get_fd(vfs_handle_struct *handle, files_struct *fsp,
+static int gpfsacl_sys_acl_blob_get_fd(vfs_handle_struct *handle,
+				      files_struct *fsp,
 				      TALLOC_CTX *mem_ctx,
 				      char **blob_description,
 				      DATA_BLOB *blob)
 {
 	struct gpfs_config_data *config;
+	SMB4ACL_T *pacl = NULL;
+	int result;
 
 	SMB_VFS_HANDLE_GET_DATA(handle, config,
 				struct gpfs_config_data,
-				return NULL);
+				return -1);
 
 	if (!config->acl) {
-		return SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FD(handle, fsp, mem_ctx, blob_description, blob);
+		return SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FD(handle, fsp, mem_ctx,
+							blob_description, blob);
 	}
 
 	result = gpfs_get_nfs4_acl(fsp->fsp_name->base_name, &pacl);
diff --git a/source3/smbd/smb2_getinfo.c b/source3/smbd/smb2_getinfo.c
index 0f4ed29..33cee99 100644
--- a/source3/smbd/smb2_getinfo.c
+++ b/source3/smbd/smb2_getinfo.c
@@ -482,6 +482,10 @@ static struct tevent_req *smbd_smb2_getinfo_send(TALLOC_CTX *mem_ctx,
 		break;
 	}
 
+	case 0x04: /* SMB2_0_INFO_QUOTA */
+		tevent_req_nterror(req, NT_STATUS_NOT_SUPPORTED);
+		return tevent_req_post(req, ev);
+
 	default:
 		DEBUG(10,("smbd_smb2_getinfo_send: "
 			"unknown in_info_type of %u "


-- 
Samba Shared Repository


More information about the samba-cvs mailing list