diff options
| author | krishna <ksriniva@redhat.com> | 2012-02-09 12:08:07 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@gluster.com> | 2012-02-08 22:51:40 -0800 | 
| commit | fa580e9299e09562c395bd464f3a1cf8a1116d6e (patch) | |
| tree | 017e31bca8a988130c15b95e0be1ad88c4bf7555 /xlators/nfs/server/src/nfs3-helpers.c | |
| parent | 2741c0a27e23e908fe77a6c14695cbee879accd5 (diff) | |
support for nano second resolution for mtime,ctime,atime attributes.v3.2.6qa2
Change-Id: Id5078f270d0fec280b53d4aa7b16bbaf42a2df05
BUG: 784095
Signed-off-by: krishna <ksriniva@redhat.com>
Reviewed-on: http://review.gluster.com/2729
Reviewed-by: Anand Avati <avati@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'xlators/nfs/server/src/nfs3-helpers.c')
| -rw-r--r-- | xlators/nfs/server/src/nfs3-helpers.c | 27 | 
1 files changed, 8 insertions, 19 deletions
diff --git a/xlators/nfs/server/src/nfs3-helpers.c b/xlators/nfs/server/src/nfs3-helpers.c index f7c3ad88026..1c4f69fad22 100644 --- a/xlators/nfs/server/src/nfs3-helpers.c +++ b/xlators/nfs/server/src/nfs3-helpers.c @@ -346,25 +346,15 @@ nfs3_stat_to_fattr3 (struct iatt *buf)          fa.fsid = buf->ia_dev;          fa.fileid = nfs3_iatt_gfid_to_ino (buf); -        /* FIXME: Handle time resolutions for sub-second granularity */ -        if (buf->ia_atime == 9669) { -                fa.mtime.seconds = 0; -                fa.mtime.nseconds = 0; -                fa.atime.seconds = 0; -                fa.atime.nseconds = 0; -        } else { -                fa.mtime.seconds = buf->ia_mtime; -                fa.mtime.nseconds = 0; -                fa.atime.seconds = buf->ia_atime; -                fa.atime.seconds = 0; -                fa.atime.nseconds = 0; -        }          fa.atime.seconds = buf->ia_atime; -        fa.atime.nseconds = 0; +        fa.atime.nseconds = buf->ia_atime_nsec;          fa.ctime.seconds = buf->ia_ctime; -        fa.ctime.nseconds = 0; +        fa.ctime.nseconds = buf->ia_ctime_nsec; + +        fa.mtime.seconds = buf->ia_mtime; +        fa.mtime.nseconds = buf->ia_mtime_nsec;          return fa;  } @@ -408,11 +398,10 @@ nfs3_stat_to_pre_op_attr (struct iatt *pre)          poa.attributes_follow = TRUE;          poa.pre_op_attr_u.attributes.size = pre->ia_size; -        if (pre->ia_atime == 9669) -                poa.pre_op_attr_u.attributes.mtime.seconds = 0; -        else -                poa.pre_op_attr_u.attributes.mtime.seconds = pre->ia_mtime; +        poa.pre_op_attr_u.attributes.mtime.seconds = pre->ia_mtime; +        poa.pre_op_attr_u.attributes.mtime.nseconds = pre->ia_mtime_nsec;          poa.pre_op_attr_u.attributes.ctime.seconds = pre->ia_ctime; +        poa.pre_op_attr_u.attributes.ctime.nseconds = pre->ia_ctime_nsec;  out:          return poa;  | 
