]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
xfs: Fix quota type in quota structures when reusing quota file
authorJan Kara <jack@suse.cz>
Mon, 23 Feb 2015 11:34:17 +0000 (22:34 +1100)
committerJiri Slaby <jslaby@suse.cz>
Thu, 5 Mar 2015 14:37:04 +0000 (15:37 +0100)
commita776835f0bd222c70c8899061e662f10c1611ec3
tree2698c5ddbb8f9628274384cb477b75cf94b63a04
parent22fd0313bf5b16f60932e2f2b2bba4f37ac25a8f
xfs: Fix quota type in quota structures when reusing quota file

commit dfcc70a8c868fe03276fa59864149708fb41930b upstream.

For filesystems without separate project quota inode field in the
superblock we just reuse project quota file for group quotas (and vice
versa) if project quota file is allocated and we need group quota file.
When we reuse the file, quota structures on disk suddenly have wrong
type stored in d_flags though. Nobody really cares about this (although
structure type reported to userspace was wrong as well) except
that after commit 14bf61ffe6ac (quota: Switch ->get_dqblk() and
->set_dqblk() to use bytes as space units) assertion in
xfs_qm_scall_getquota() started to trigger on xfs/106 test (apparently I
was testing without XFS_DEBUG so I didn't notice when submitting the
above commit).

Fix the problem by properly resetting ddq->d_flags when running quotacheck
for a quota file.

Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
fs/xfs/xfs_qm.c