[SCM] Samba Shared Repository - branch v3-5-test updated

Karolin Seeger kseeger at samba.org
Tue Mar 1 13:31:41 MST 2011


The branch, v3-5-test has been updated
       via  fd6af89 s3:vfs:gpfs: fix logic when gpfs:winattr is false (the default!)
      from  203b4aa Fix bug 7950 - Samba 3.5.x fails BASE-CREATEX_SHAREMODES_DIR smbtorture4 test We need to revalidate the pathname once re-constructed from a root fsp.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test


- Log -----------------------------------------------------------------
commit fd6af89cb86c7ffb99ba4de986d932ec58182c81
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Fri Nov 20 10:39:57 2009 +0100

    s3:vfs:gpfs: fix logic when gpfs:winattr is false (the default!)
    
    On my autocluster setup, it's not set.  Maybe it should be?  Otherwise
    smbclient and some Windows client programs will get errors like:
    
            # smbclient //localhost/data -Uadministrator%XXX
            Domain=[VSOFS1] OS=[Unix] Server=[Samba 3.4.2-ctdb-10]
            smb: \> put /etc/resolv.conf resolv.conf
            NT_STATUS_ACCESS_DENIED closing remote file \resolv.conf
            smb: \>
    
    Caused by attempting to update the time on close.
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    Signed-off-by: Michael Adam <obnox at samba.org>
    (cherry picked from commit 385d925f7e0fedca7d480e4f25d89e3194433b88)
    
    Fix bug #7498 (robocopy fails to a GPFS share when setting the date).

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

Summary of changes:
 source3/modules/vfs_gpfs.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c
index 7c481d6..262d167 100644
--- a/source3/modules/vfs_gpfs.c
+++ b/source3/modules/vfs_gpfs.c
@@ -939,6 +939,11 @@ static int gpfs_set_xattr(struct vfs_handle_struct *handle,  const char *path,
         ret = set_gpfs_winattrs(CONST_DISCARD(char *, path),
 				GPFS_WINATTR_SET_ATTRS, &attrs);
         if ( ret == -1){
+		if (errno == ENOSYS) {
+			return SMB_VFS_NEXT_SETXATTR(handle, path, name, value,
+						     size, flags);
+		}
+
                 DEBUG(1, ("gpfs_set_xattr:Set GPFS attributes failed %d\n",ret));
                 return -1;
         }
@@ -964,6 +969,11 @@ static ssize_t gpfs_get_xattr(struct vfs_handle_struct *handle,  const char *pat
 
         ret = get_gpfs_winattrs(CONST_DISCARD(char *, path), &attrs);
         if ( ret == -1){
+		if (errno == ENOSYS) {
+			return SMB_VFS_NEXT_GETXATTR(handle, path, name, value,
+						     size);
+		}
+
                 DEBUG(1, ("gpfs_get_xattr: Get GPFS attributes failed: %d\n",ret));
                 return -1;
         }
@@ -1095,7 +1105,7 @@ static int vfs_gpfs_ntimes(struct vfs_handle_struct *handle,
 
         ret = set_gpfs_winattrs(CONST_DISCARD(char *, path),
                                 GPFS_WINATTR_SET_CREATION_TIME, &attrs);
-        if(ret == -1){
+        if(ret == -1 && errno != ENOSYS){
                 DEBUG(1,("vfs_gpfs_ntimes: set GPFS ntimes failed %d\n",ret));
 	        return -1;
         }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list