1
0
Fork 0
alistair23-linux/fs/quota
Eric Sandeen 9da93f9b7c xfs: fix Q_XQUOTARM ioctl
The Q_XQUOTARM quotactl was not working properly, because
we weren't passing around proper flags.  The xfs_fs_set_xstate()
ioctl handler used the same flags for Q_XQUOTAON/OFF as
well as for Q_XQUOTARM, but Q_XQUOTAON/OFF look for
XFS_UQUOTA_ACCT, XFS_UQUOTA_ENFD, XFS_GQUOTA_ACCT etc,
i.e. quota type + state, while Q_XQUOTARM looks only for
the type of quota, i.e. XFS_DQ_USER, XFS_DQ_GROUP etc.

Unfortunately these flag spaces overlap a bit, so we
got semi-random results for Q_XQUOTARM; i.e. the value
for XFS_DQ_USER == XFS_UQUOTA_ACCT, etc.  yeargh.

Add a new quotactl op vector specifically for the QUOTARM
operation, since it operates with a different flag space.

This has been broken more or less forever, AFAICT.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Acked-by: Jan Kara <jack@suse.cz>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2014-05-05 17:25:50 +10:00
..
Kconfig fs/quota/Kconfig: Update filesystems 2014-03-04 12:19:26 +01:00
Makefile userns: Implement struct kqid 2012-09-18 01:01:38 -07:00
compat.c quota: split out compat_sys_quotactl support from quota.c 2010-03-05 00:20:25 +01:00
dquot.c quota: provide function to grab quota structure reference 2014-04-03 16:20:54 -07:00
kqid.c userns: Implement struct kqid 2012-09-18 01:01:38 -07:00
netlink.c genetlink: make multicast groups const, prevent abuse 2013-11-19 16:39:06 -05:00
quota.c xfs: fix Q_XQUOTARM ioctl 2014-05-05 17:25:50 +10:00
quota_tree.c userns: Convert struct dquot dq_id to be a struct kqid 2012-09-18 01:01:41 -07:00
quota_tree.h quota: Change quota error message to print out disk and function name 2010-07-21 16:05:58 +02:00
quota_v1.c userns: Convert struct dquot dq_id to be a struct kqid 2012-09-18 01:01:41 -07:00
quota_v2.c userns: Convert struct dquot dq_id to be a struct kqid 2012-09-18 01:01:41 -07:00
quotaio_v1.h quota: Move quota files into separate directory 2009-03-26 02:18:35 +01:00
quotaio_v2.h quota: Implement quota format with 64-bit space and inode limits 2009-12-10 15:02:54 +01:00