summaryrefslogtreecommitdiff
path: root/fs/jffs2
diff options
context:
space:
mode:
authorDmitry Monakhov <dmonakhov@openvz.org>2009-12-14 15:21:13 +0300
committerGreg Kroah-Hartman <gregkh@suse.de>2010-01-06 14:26:52 -0800
commitc169e13a6662cbf36fc0098508e7aa31b49cbf23 (patch)
tree6eb27315c25b3ddf68468e9d12e82b4a9e9e7c7c /fs/jffs2
parent36f1fbe83ea3e2b64d4429439d05ad2dc25b3ca8 (diff)
downloadlwn-c169e13a6662cbf36fc0098508e7aa31b49cbf23.tar.gz
lwn-c169e13a6662cbf36fc0098508e7aa31b49cbf23.zip
quota: decouple fs reserved space from quota reservation
commit fd8fbfc1709822bd94247c5b2ab15a5f5041e103 upstream. Currently inode_reservation is managed by fs itself and this reservation is transfered on dquot_transfer(). This means what inode_reservation must always be in sync with dquot->dq_dqb.dqb_rsvspace. Otherwise dquot_transfer() will result in incorrect quota(WARN_ON in dquot_claim_reserved_space() will be triggered) This is not easy because of complex locking order issues for example http://bugzilla.kernel.org/show_bug.cgi?id=14739 The patch introduce quota reservation field for each fs-inode (fs specific inode is used in order to prevent bloating generic vfs inode). This reservation is managed by quota code internally similar to i_blocks/i_bytes and may not be always in sync with internal fs reservation. Also perform some code rearrangement: - Unify dquot_reserve_space() and dquot_reserve_space() - Unify dquot_release_reserved_space() and dquot_free_space() - Also this patch add missing warning update to release_rsv() dquot_release_reserved_space() must call flush_warnings() as dquot_free_space() does. Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/jffs2')
0 files changed, 0 insertions, 0 deletions