diff options
Diffstat (limited to 'fs/ext2/inode.c')
| -rw-r--r-- | fs/ext2/inode.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c index 5c09776d347f..c60a248c640c 100644 --- a/fs/ext2/inode.c +++ b/fs/ext2/inode.c @@ -25,6 +25,7 @@  #include <linux/time.h>  #include <linux/highuid.h>  #include <linux/pagemap.h> +#include <linux/dax.h>  #include <linux/quotaops.h>  #include <linux/writeback.h>  #include <linux/buffer_head.h> @@ -1552,8 +1553,11 @@ int ext2_setattr(struct dentry *dentry, struct iattr *iattr)  	if (error)  		return error; -	if (is_quota_modification(inode, iattr)) -		dquot_initialize(inode); +	if (is_quota_modification(inode, iattr)) { +		error = dquot_initialize(inode); +		if (error) +			return error; +	}  	if ((iattr->ia_valid & ATTR_UID && !uid_eq(iattr->ia_uid, inode->i_uid)) ||  	    (iattr->ia_valid & ATTR_GID && !gid_eq(iattr->ia_gid, inode->i_gid))) {  		error = dquot_transfer(inode, iattr);  |