[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-378-g277597d

Volker Lendecke vlendec at samba.org
Wed Sep 16 18:25:06 MDT 2009


The branch, master has been updated
       via  277597de8548d6bcc65e7eff40b238415659eb17 (commit)
      from  919559573cf9484beeeb31aaaff844349972634d (commit)

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


- Log -----------------------------------------------------------------
commit 277597de8548d6bcc65e7eff40b238415659eb17
Author: Abhidnya Chirmule <achirmul at in.ibm.com>
Date:   Wed Sep 16 07:22:32 2009 +0200

    To set file create/birth time in GPFS. Signed-off-by: Abhidnya Chirmule <achirmul at in.ibm.com>

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

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


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c
index 3660bb2..dbed897 100644
--- a/source3/modules/vfs_gpfs.c
+++ b/source3/modules/vfs_gpfs.c
@@ -1059,6 +1059,47 @@ static int vfs_gpfs_lstat(struct vfs_handle_struct *handle,
 	return 0;
 }
 
+static int vfs_gpfs_ntimes(struct vfs_handle_struct *handle,
+                        const struct smb_filename *smb_fname,
+			struct smb_file_time *ft)
+{
+
+        struct gpfs_winattr attrs;
+        int ret;
+        char *path = NULL;
+        NTSTATUS status;
+
+        ret = SMB_VFS_NEXT_NTIMES(handle, smb_fname, ft);
+        if(ret == -1){
+                DEBUG(1,("vfs_gpfs_ntimes: SMB_VFS_NEXT_NTIMES failed\n"));
+                return -1;
+        }
+
+        if(null_timespec(ft->create_time)){
+                DEBUG(10,("vfs_gpfs_ntimes:Create Time is NULL\n"));
+                return 0;
+        }
+
+        status = get_full_smb_filename(talloc_tos(), smb_fname, &path);
+        if (!NT_STATUS_IS_OK) {
+                errno = map_errno_from_nt_status(status);
+                return -1;
+        }
+
+        attrs.winAttrs = 0;
+        attrs.creationTime.tv_sec = ft->create_time.tv_sec;
+        attrs.creationTime.tv_nsec = ft->create_time.tv_nsec;
+
+        ret = set_gpfs_winattrs(CONST_DISCARD(char *, path),
+                                GPFS_WINATTR_SET_CREATION_TIME, &attrs);
+        if(ret == -1){
+                DEBUG(1,("vfs_gpfs_ntimes: set GPFS ntimes failed %d\n",ret));
+	        return -1;
+        }
+        return 0;
+
+}
+
 static struct vfs_fn_pointers vfs_gpfs_fns = {
 	.kernel_flock = vfs_gpfs_kernel_flock,
         .setlease = vfs_gpfs_setlease,
@@ -1079,6 +1120,7 @@ static struct vfs_fn_pointers vfs_gpfs_fns = {
         .stat = vfs_gpfs_stat,
         .fstat = vfs_gpfs_fstat,
         .lstat = vfs_gpfs_lstat,
+	.ntimes = vfs_gpfs_ntimes,
 };
 
 NTSTATUS vfs_gpfs_init(void);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list