quota: Forbid Q_GETQUOTA and Q_GETNEXTQUOTA for frozen filesystem
authorJan Kara <jack@suse.cz>
Thu, 18 Feb 2016 13:03:03 +0000 (14:03 +0100)
committerJan Kara <jack@suse.cz>
Thu, 18 Feb 2016 13:03:03 +0000 (14:03 +0100)
commitccf370e43e08cab4f8f13464c02c9aeffd8f0cd6
treeccd84f8d0cb3b1d932fea76976ee8cfbff0936fd
parent044c9b6753a6b6cf486e16b53296b4707b35dbe3
quota: Forbid Q_GETQUOTA and Q_GETNEXTQUOTA for frozen filesystem

Commit 7955118eafc4 (quota: Allow Q_GETQUOTA for frozen filesystem)
allowed Q_GETQUOTA call for frozen filesystem. It makes sense on the
first look but zero-day testing has shown that with this change ext4
warns about starting a transaction for frozen filesystem. This happens
because ext4_acquire_dquot() prepares for allocating space for new quota
structure. Although it would be possible to implement Q_GETQUOTA for
ext4 without allocating space for non-existent structures, the matter
further complicates because OCFS2 needs to update on-disk structure use
count when a new cluster node loads quota information from disk. So just
revert the change and forbid Q_GETQUOTA together with Q_GETNEXTQUOTA for
frozen filesystem. Add comment to quotactl_cmd_write() to save us from
repeating this excercise in a few years when I forget again.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/quota/quota.c