jfs: Handle error from dquot_initialize()
[firefly-linux-kernel-4.4.55.git] / fs / jfs / file.c
index e98d39d75cf41a3f63c889958f87804dbb6aacf2..0e026a7bdcd4d9512b8074016b9f56a31de3b8f9 100644 (file)
@@ -76,7 +76,7 @@ static int jfs_open(struct inode *inode, struct file *file)
                if (ji->active_ag == -1) {
                        struct jfs_sb_info *jfs_sb = JFS_SBI(inode->i_sb);
                        ji->active_ag = BLKTOAG(addressPXD(&ji->ixpxd), jfs_sb);
-                       atomic_inc( &jfs_sb->bmap->db_active[ji->active_ag]);
+                       atomic_inc(&jfs_sb->bmap->db_active[ji->active_ag]);
                }
                spin_unlock_irq(&ji->ag_lock);
        }
@@ -107,8 +107,11 @@ int jfs_setattr(struct dentry *dentry, struct iattr *iattr)
        if (rc)
                return rc;
 
-       if (is_quota_modification(inode, iattr))
-               dquot_initialize(inode);
+       if (is_quota_modification(inode, iattr)) {
+               rc = dquot_initialize(inode);
+               if (rc)
+                       return rc;
+       }
        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))) {
                rc = dquot_transfer(inode, iattr);