On Thu, Nov 03, 2011 at 07:15:20PM -0700, Aditya Kali wrote: > +#ifdef CONFIG_QUOTA > + /* Enable quota usage during mount. */ > + if (EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_QUOTA) && > + !(sb->s_flags & MS_RDONLY)) { > + ext4_quota_enable(sb, USRQUOTA, QFMT_VFS_V1, > + DQUOT_USAGE_ENABLED); > + ext4_quota_enable(sb, GRPQUOTA, QFMT_VFS_V1, > + DQUOT_USAGE_ENABLED); I think we should print an error message if one of the calls to ext4_quota_enable() failed. Space accounting in the quota files won't be accurate any more and e2fsck is required. > +static int ext4_quota_enable(struct super_block *sb, int type, int format_id, > + unsigned int flags) > +{ > + struct ext4_sb_info *sbi = EXT4_SB(sb); > + struct inode *qf_inode; > + int err; > + > + if (!sbi->s_qf_inums[type]) > + return -EPERM; > + > + qf_inode = ext4_iget(sb, sbi->s_qf_inums[type]); > + if (IS_ERR(qf_inode)) { > + ext4_error(sb, "Bad quota inode # %lu", sbi->s_qf_inums[type]); > + return PTR_ERR(qf_inode); > + } > + > + /* > + * When we journal data on quota file, we have to flush journal to see > + * all updates to the file when we bypass pagecache... > + */ > + if (sbi->s_journal && > + ext4_should_journal_data(qf_inode)) { > + /* > + * We don't need to lock updates but journal_flush() could > + * otherwise be livelocked... > + */ > + jbd2_journal_lock_updates(sbi->s_journal); > + err = jbd2_journal_flush(sbi->s_journal); > + jbd2_journal_unlock_updates(sbi->s_journal); > + if (err) > + return err; iput(qf_inode) is missing in this error path. Cheers, Johann -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html