Files
kernel_arpi/include/linux
Dmitry Monakhov fd8fbfc170 quota: decouple fs reserved space from quota reservation
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>
2009-12-23 13:33:54 +01:00
..
2009-12-14 00:26:26 +01:00
2009-12-16 10:23:43 -08:00
2009-12-16 14:22:32 -05:00
2009-12-16 07:20:13 -08:00
2009-12-06 21:10:56 +01:00
2009-12-10 23:52:01 +00:00
2009-12-15 08:53:33 -08:00
2009-12-10 15:02:53 +01:00
2009-12-23 13:33:54 +01:00
2009-12-03 11:58:47 +00:00
2009-12-14 23:55:34 +01:00
2009-12-14 21:17:29 +01:00
2009-11-28 15:05:05 -05:00
2009-12-02 23:38:13 -08:00
2009-12-22 14:17:56 -08:00
2009-12-16 06:56:12 -08:00
2009-12-03 09:32:17 +02:00
2009-12-09 17:14:38 +11:00
2009-12-15 08:53:36 -08:00
2009-12-15 08:53:20 -08:00
2009-12-12 13:08:15 +01:00
2009-11-28 15:05:05 -05:00
2009-12-09 12:12:44 +02:00
2009-12-15 08:53:25 -08:00
2009-12-03 11:43:23 +00:00
2009-12-02 09:55:33 +01:00
2009-12-15 08:53:20 -08:00
2009-11-30 12:02:53 +09:00
2009-12-02 19:57:15 -08:00
2009-11-18 14:52:25 +01:00
2009-12-15 08:53:16 -08:00
2009-12-17 11:03:25 -05:00
2009-12-16 12:16:49 -05:00