aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_file.c')
-rw-r--r--fs/xfs/linux-2.6/xfs_file.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/fs/xfs/linux-2.6/xfs_file.c b/fs/xfs/linux-2.6/xfs_file.c
index 1d72dbb1a73d..123659e74b53 100644
--- a/fs/xfs/linux-2.6/xfs_file.c
+++ b/fs/xfs/linux-2.6/xfs_file.c
@@ -193,13 +193,11 @@ xfs_file_fsync(
193 struct dentry *dentry, 193 struct dentry *dentry,
194 int datasync) 194 int datasync)
195{ 195{
196 bhv_vnode_t *vp = vn_from_inode(dentry->d_inode);
197 int flags = FSYNC_WAIT; 196 int flags = FSYNC_WAIT;
198 197
199 if (datasync) 198 if (datasync)
200 flags |= FSYNC_DATA; 199 flags |= FSYNC_DATA;
201 if (VN_TRUNC(vp)) 200 xfs_iflags_clear(XFS_I(dentry->d_inode), XFS_ITRUNCATED);
202 VUNTRUNCATE(vp);
203 return -xfs_fsync(XFS_I(dentry->d_inode), flags, 201 return -xfs_fsync(XFS_I(dentry->d_inode), flags,
204 (xfs_off_t)0, (xfs_off_t)-1); 202 (xfs_off_t)0, (xfs_off_t)-1);
205} 203}
@@ -277,10 +275,9 @@ xfs_file_ioctl(
277{ 275{
278 int error; 276 int error;
279 struct inode *inode = filp->f_path.dentry->d_inode; 277 struct inode *inode = filp->f_path.dentry->d_inode;
280 bhv_vnode_t *vp = vn_from_inode(inode);
281 278
282 error = xfs_ioctl(XFS_I(inode), filp, 0, cmd, (void __user *)p); 279 error = xfs_ioctl(XFS_I(inode), filp, 0, cmd, (void __user *)p);
283 VMODIFY(vp); 280 xfs_iflags_set(XFS_I(inode), XFS_IMODIFIED);
284 281
285 /* NOTE: some of the ioctl's return positive #'s as a 282 /* NOTE: some of the ioctl's return positive #'s as a
286 * byte count indicating success, such as 283 * byte count indicating success, such as
@@ -299,10 +296,9 @@ xfs_file_ioctl_invis(
299{ 296{
300 int error; 297 int error;
301 struct inode *inode = filp->f_path.dentry->d_inode; 298 struct inode *inode = filp->f_path.dentry->d_inode;
302 bhv_vnode_t *vp = vn_from_inode(inode);
303 299
304 error = xfs_ioctl(XFS_I(inode), filp, IO_INVIS, cmd, (void __user *)p); 300 error = xfs_ioctl(XFS_I(inode), filp, IO_INVIS, cmd, (void __user *)p);
305 VMODIFY(vp); 301 xfs_iflags_set(XFS_I(inode), XFS_IMODIFIED);
306 302
307 /* NOTE: some of the ioctl's return positive #'s as a 303 /* NOTE: some of the ioctl's return positive #'s as a
308 * byte count indicating success, such as 304 * byte count indicating success, such as