Commit ca5ccbf98d792d8727e893765cc2df479ba399f2

Authored by Nathan Scott
1 parent 1259845d3f

[XFS] Fix some build fallout from atime changes.

SGI-PV: 946679
SGI-Modid: xfs-linux-melb:xfs-kern:24899a

Signed-off-by: Nathan Scott <nathans@sgi.com>

Showing 3 changed files with 21 additions and 5 deletions Side-by-side Diff

fs/xfs/linux-2.6/xfs_vnode.h
... ... @@ -566,6 +566,25 @@
566 566 }
567 567  
568 568 /*
  569 + * Extracting atime values in various formats
  570 + */
  571 +static inline void vn_atime_to_bstime(struct vnode *vp, xfs_bstime_t *bs_atime)
  572 +{
  573 + bs_atime->tv_sec = vp->v_inode.i_atime.tv_sec;
  574 + bs_atime->tv_nsec = vp->v_inode.i_atime.tv_nsec;
  575 +}
  576 +
  577 +static inline void vn_atime_to_timespec(struct vnode *vp, struct timespec *ts)
  578 +{
  579 + *ts = vp->v_inode.i_atime;
  580 +}
  581 +
  582 +static inline void vn_atime_to_time_t(struct vnode *vp, time_t *tt)
  583 +{
  584 + *tt = vp->v_inode.i_atime.tv_sec;
  585 +}
  586 +
  587 +/*
569 588 * Some useful predicates.
570 589 */
571 590 #define VN_MAPPED(vp) mapping_mapped(LINVFS_GET_IP(vp)->i_mapping)
... ... @@ -86,9 +86,7 @@
86 86 buf->bs_uid = dic->di_uid;
87 87 buf->bs_gid = dic->di_gid;
88 88 buf->bs_size = dic->di_size;
89   - /* atime is only kept uptodate in the Linux inode */
90   - buf->bs_atime.tv_sec = vp->v_inode.i_atime.tv_sec;
91   - buf->bs_atime.tv_nsec = vp->v_inode.i_atime.tv_nsec;
  89 + vn_atime_to_bstime(vp, &buf->bs_atime);
92 90 buf->bs_mtime.tv_sec = dic->di_mtime.t_sec;
93 91 buf->bs_mtime.tv_nsec = dic->di_mtime.t_nsec;
94 92 buf->bs_ctime.tv_sec = dic->di_ctime.t_sec;
fs/xfs/xfs_vnodeops.c
... ... @@ -182,8 +182,7 @@
182 182 break;
183 183 }
184 184  
185   - /* atime is only kept uptodate in the Linux inode */
186   - vap->va_atime = vp->v_inode.i_atime;
  185 + vn_atime_to_timespec(vp, &vap->va_atime);
187 186 vap->va_mtime.tv_sec = ip->i_d.di_mtime.t_sec;
188 187 vap->va_mtime.tv_nsec = ip->i_d.di_mtime.t_nsec;
189 188 vap->va_ctime.tv_sec = ip->i_d.di_ctime.t_sec;