diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/gfs2/file.c | 1 | ||||
| -rw-r--r-- | fs/gfs2/quota.h | 4 | 
2 files changed, 3 insertions, 2 deletions
| diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 1e73cf87ff88..c9bb3be21d2b 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -251,6 +251,7 @@ static int do_gfs2_set_flags(struct inode *inode, u32 reqflags, u32 mask)  		error = filemap_fdatawait(inode->i_mapping);  		if (error)  			goto out; +		truncate_inode_pages(inode->i_mapping, 0);  		if (new_flags & GFS2_DIF_JDATA)  			gfs2_ordered_del_inode(ip);  	} diff --git a/fs/gfs2/quota.h b/fs/gfs2/quota.h index f462d9cb3087..988f38dc5b2c 100644 --- a/fs/gfs2/quota.h +++ b/fs/gfs2/quota.h @@ -44,8 +44,8 @@ static inline int gfs2_quota_lock_check(struct gfs2_inode *ip,  	int ret;  	ap->allowed = UINT_MAX; /* Assume we are permitted a whole lot */ -	if (capable(CAP_SYS_RESOURCE) || -	    sdp->sd_args.ar_quota == GFS2_QUOTA_OFF) +	if (sdp->sd_args.ar_quota == GFS2_QUOTA_OFF || +	    capable(CAP_SYS_RESOURCE))  		return 0;  	ret = gfs2_quota_lock(ip, NO_UID_QUOTA_CHANGE, NO_GID_QUOTA_CHANGE);  	if (ret) | 
