[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-137-g243d4e8

Tim Prouty tprouty at samba.org
Tue Mar 3 21:07:37 GMT 2009


The branch, master has been updated
       via  243d4e8a0846f9b873573ec504fb2f811be7d25c (commit)
      from  b00204a46153a406a6c63792b1939bd3ad74ba71 (commit)

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


- Log -----------------------------------------------------------------
commit 243d4e8a0846f9b873573ec504fb2f811be7d25c
Author: Tim Prouty <tprouty at samba.org>
Date:   Fri Feb 27 16:25:31 2009 -0800

    s3 OneFS: Add parameter to ignore streams

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

Summary of changes:
 source3/modules/onefs_config.h  |    2 ++
 source3/modules/onefs_open.c    |    2 +-
 source3/modules/onefs_streams.c |    7 ++++++-
 source3/modules/vfs_onefs.c     |    9 ++++++++-
 4 files changed, 17 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/onefs_config.h b/source3/modules/onefs_config.h
index 27cbb0a..f0f48e6 100644
--- a/source3/modules/onefs_config.h
+++ b/source3/modules/onefs_config.h
@@ -64,6 +64,8 @@ enum onefs_acl_wire_format
 #define PARM_DOT_SNAP_TILDE_DEFAULT true
 #define PARM_IGNORE_SACLS "ignore sacls"
 #define PARM_IGNORE_SACLS_DEFAULT false
+#define PARM_IGNORE_STREAMS "ignore streams"
+#define PARM_IGNORE_STREAMS_DEFAULT false
 #define PARM_MTIME_NOW		"mtime now files"
 #define PARM_MTIME_NOW_DEFAULT	NULL
 #define PARM_MTIME_STATIC	"mtime static files"
diff --git a/source3/modules/onefs_open.c b/source3/modules/onefs_open.c
index 9043be8..d3ba0ac 100644
--- a/source3/modules/onefs_open.c
+++ b/source3/modules/onefs_open.c
@@ -196,7 +196,7 @@ static NTSTATUS onefs_open_file(files_struct *fsp,
 						      &base, &stream);
 	}
 	/* It's a stream, so pass in the base_fd */
-	if (stream != NULL) {
+	if ((conn->fs_capabilities & FILE_NAMED_STREAMS) && stream != NULL) {
 		SMB_ASSERT(fsp->base_fsp);
 
 		/*
diff --git a/source3/modules/onefs_streams.c b/source3/modules/onefs_streams.c
index 9f5d5e2..05b36d7 100644
--- a/source3/modules/onefs_streams.c
+++ b/source3/modules/onefs_streams.c
@@ -671,6 +671,11 @@ NTSTATUS onefs_streaminfo(vfs_handle_struct *handle,
 	state.streams = NULL;
 	state.num_streams = 0;
 
+	if (lp_parm_bool(SNUM(handle->conn), PARM_ONEFS_TYPE,
+		PARM_IGNORE_STREAMS, PARM_IGNORE_STREAMS_DEFAULT)) {
+		goto out;
+	}
+
 	/* Add the default stream. */
 	if (S_ISREG(sbuf.st_mode)) {
 		if (!add_one_stream(mem_ctx,
@@ -702,7 +707,7 @@ NTSTATUS onefs_streaminfo(vfs_handle_struct *handle,
 			return state.status;
 		}
 	}
-
+ out:
 	*num_streams = state.num_streams;
 	*streams = state.streams;
 	return NT_STATUS_OK;
diff --git a/source3/modules/vfs_onefs.c b/source3/modules/vfs_onefs.c
index f277245..2ec6e06 100644
--- a/source3/modules/vfs_onefs.c
+++ b/source3/modules/vfs_onefs.c
@@ -222,7 +222,14 @@ static int onefs_ntimes(vfs_handle_struct *handle, const char *fname,
 
 static uint32_t onefs_fs_capabilities(struct vfs_handle_struct *handle)
 {
-	return SMB_VFS_NEXT_FS_CAPABILITIES(handle) | FILE_NAMED_STREAMS;
+	uint32_t result = 0;
+
+	if (!lp_parm_bool(SNUM(handle->conn), PARM_ONEFS_TYPE,
+		PARM_IGNORE_STREAMS, PARM_IGNORE_STREAMS_DEFAULT)) {
+		result |= FILE_NAMED_STREAMS;
+	}
+
+	return result | SMB_VFS_NEXT_FS_CAPABILITIES(handle);
 }
 
 static vfs_op_tuple onefs_ops[] = {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list