diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_iops.c')
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_iops.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c index 0e7ca2155956..91bcd979242c 100644 --- a/fs/xfs/linux-2.6/xfs_iops.c +++ b/fs/xfs/linux-2.6/xfs_iops.c | |||
| @@ -133,45 +133,6 @@ xfs_ichgtime( | |||
| 133 | } | 133 | } |
| 134 | 134 | ||
| 135 | /* | 135 | /* |
| 136 | * Variant on the above which avoids querying the system clock | ||
| 137 | * in situations where we know the Linux inode timestamps have | ||
| 138 | * just been updated (and so we can update our inode cheaply). | ||
| 139 | */ | ||
| 140 | void | ||
| 141 | xfs_ichgtime_fast( | ||
| 142 | xfs_inode_t *ip, | ||
| 143 | struct inode *inode, | ||
| 144 | int flags) | ||
| 145 | { | ||
| 146 | timespec_t *tvp; | ||
| 147 | |||
| 148 | if (flags & XFS_ICHGTIME_MOD) { | ||
| 149 | tvp = &inode->i_mtime; | ||
| 150 | ip->i_d.di_mtime.t_sec = (__int32_t)tvp->tv_sec; | ||
| 151 | ip->i_d.di_mtime.t_nsec = (__int32_t)tvp->tv_nsec; | ||
| 152 | } | ||
| 153 | if (flags & XFS_ICHGTIME_CHG) { | ||
| 154 | tvp = &inode->i_ctime; | ||
| 155 | ip->i_d.di_ctime.t_sec = (__int32_t)tvp->tv_sec; | ||
| 156 | ip->i_d.di_ctime.t_nsec = (__int32_t)tvp->tv_nsec; | ||
| 157 | } | ||
| 158 | |||
| 159 | /* | ||
| 160 | * We update the i_update_core field _after_ changing | ||
| 161 | * the timestamps in order to coordinate properly with | ||
| 162 | * xfs_iflush() so that we don't lose timestamp updates. | ||
| 163 | * This keeps us from having to hold the inode lock | ||
| 164 | * while doing this. We use the SYNCHRONIZE macro to | ||
| 165 | * ensure that the compiler does not reorder the update | ||
| 166 | * of i_update_core above the timestamp updates above. | ||
| 167 | */ | ||
| 168 | SYNCHRONIZE(); | ||
| 169 | ip->i_update_core = 1; | ||
| 170 | if (!(inode->i_state & I_NEW)) | ||
| 171 | mark_inode_dirty_sync(inode); | ||
| 172 | } | ||
| 173 | |||
| 174 | /* | ||
| 175 | * Hook in SELinux. This is not quite correct yet, what we really need | 136 | * Hook in SELinux. This is not quite correct yet, what we really need |
| 176 | * here (as we do for default ACLs) is a mechanism by which creation of | 137 | * here (as we do for default ACLs) is a mechanism by which creation of |
| 177 | * these attrs can be journalled at inode creation time (along with the | 138 | * these attrs can be journalled at inode creation time (along with the |
