arcnet: Remove function pointer macro indirections
[cascardo/linux.git] / fs / ext2 / inode.c
index 5c09776..c60a248 100644 (file)
@@ -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);