diff options
Diffstat (limited to 'fs/xfs/xfs_iops.c')
| -rw-r--r-- | fs/xfs/xfs_iops.c | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index f35d5c953ff9..9ddfb8190ca1 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -705,7 +705,6 @@ xfs_setattr_size(  {  	struct xfs_mount	*mp = ip->i_mount;  	struct inode		*inode = VFS_I(ip); -	int			mask = iattr->ia_valid;  	xfs_off_t		oldsize, newsize;  	struct xfs_trans	*tp;  	int			error; @@ -726,8 +725,8 @@ xfs_setattr_size(  	ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL));  	ASSERT(S_ISREG(ip->i_d.di_mode)); -	ASSERT((mask & (ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_ATIME_SET| -			ATTR_MTIME_SET|ATTR_KILL_PRIV|ATTR_TIMES_SET)) == 0); +	ASSERT((iattr->ia_valid & (ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_ATIME_SET| +		ATTR_MTIME_SET|ATTR_KILL_PRIV|ATTR_TIMES_SET)) == 0);  	oldsize = inode->i_size;  	newsize = iattr->ia_size; @@ -736,7 +735,7 @@ xfs_setattr_size(  	 * Short circuit the truncate case for zero length files.  	 */  	if (newsize == 0 && oldsize == 0 && ip->i_d.di_nextents == 0) { -		if (!(mask & (ATTR_CTIME|ATTR_MTIME))) +		if (!(iattr->ia_valid & (ATTR_CTIME|ATTR_MTIME)))  			return 0;  		/* @@ -824,10 +823,11 @@ xfs_setattr_size(  	 * these flags set.  For all other operations the VFS set these flags  	 * explicitly if it wants a timestamp update.  	 */ -	if (newsize != oldsize && (!(mask & (ATTR_CTIME | ATTR_MTIME)))) { +	if (newsize != oldsize && +	    !(iattr->ia_valid & (ATTR_CTIME | ATTR_MTIME))) {  		iattr->ia_ctime = iattr->ia_mtime =  			current_fs_time(inode->i_sb); -		mask |= ATTR_CTIME | ATTR_MTIME; +		iattr->ia_valid |= ATTR_CTIME | ATTR_MTIME;  	}  	/* @@ -863,9 +863,9 @@ xfs_setattr_size(  		xfs_inode_clear_eofblocks_tag(ip);  	} -	if (mask & ATTR_MODE) +	if (iattr->ia_valid & ATTR_MODE)  		xfs_setattr_mode(ip, iattr); -	if (mask & (ATTR_ATIME|ATTR_CTIME|ATTR_MTIME)) +	if (iattr->ia_valid & (ATTR_ATIME|ATTR_CTIME|ATTR_MTIME))  		xfs_setattr_time(ip, iattr);  	xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);  | 
