Dave Chinner
309c848002
xfs: delayed alloc blocks beyond EOF are valid after writeback
...
There is an assumption in the parts of XFS that flushing a dirty
file will make all the delayed allocation blocks disappear from an
inode. That is, that after calling xfs_flush_pages() then
ip->i_delayed_blks will be zero.
This is an invalid assumption as we may have specualtive
preallocation beyond EOF and they are recorded in
ip->i_delayed_blks. A flush of the dirty pages of an inode will not
change the state of these blocks beyond EOF, so a non-zero
deeelalloc block count after a flush is valid.
The bmap code has an invalid ASSERT() that needs to be removed, and
the swapext code has a bug in that while it swaps the data forks
around, it fails to swap the i_delayed_blks counter associated with
the fork and hence can get the block accounting wrong.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2010-12-01 07:40:20 -06:00
..
2010-10-29 04:16:38 -04:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:17:13 -04:00
2010-10-29 04:16:31 -04:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:13 -04:00
2010-11-29 14:11:08 -08:00
2010-10-15 15:53:27 +02:00
2010-11-19 15:32:22 -08:00
2010-11-09 15:17:53 +00:00
2010-10-29 04:16:31 -04:00
2010-10-29 04:16:28 -04:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:28 -04:00
2010-10-29 04:16:28 -04:00
2010-10-22 17:33:16 -07:00
2010-11-17 08:59:32 -08:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:31 -04:00
2010-10-25 21:26:13 -04:00
2010-10-29 04:16:13 -04:00
2010-11-17 08:59:32 -08:00
2010-11-19 21:47:07 -05:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:13 -04:00
2010-11-25 06:50:41 +09:00
2010-11-19 11:20:29 +00:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:31 -04:00
2010-10-31 20:40:24 -04:00
2010-10-29 04:16:31 -04:00
2010-11-12 07:55:32 -08:00
2010-10-29 04:16:13 -04:00
2010-10-27 20:13:18 -07:00
2010-11-17 21:46:26 -05:00
2010-10-30 08:31:35 -07:00
2010-10-29 04:16:13 -04:00
2010-11-17 08:59:32 -08:00
2010-11-01 16:34:56 -04:00
2010-10-29 04:16:13 -04:00
2010-11-17 08:59:32 -08:00
2010-11-22 13:24:48 -05:00
2010-11-17 08:59:32 -08:00
2010-11-24 12:51:48 +09:00
2010-10-30 14:07:35 -04:00
2010-10-29 04:16:13 -04:00
2010-11-17 08:59:32 -08:00
2010-10-29 04:16:13 -04:00
2010-11-08 14:29:39 -08:00
2010-10-25 07:45:10 -07:00
2010-11-25 06:50:46 +09:00
2010-10-29 04:16:13 -04:00
2010-10-28 01:30:06 +02:00
2010-10-29 04:16:31 -04:00
2010-11-25 06:50:48 +09:00
2010-10-29 04:16:26 -04:00
2010-10-29 08:48:58 -07:00
2010-10-29 04:17:08 -04:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:36 -04:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:13 -04:00
2010-12-01 07:40:20 -06:00
2010-10-25 21:26:11 -04:00
2010-10-29 04:16:33 -04:00
2010-10-14 10:57:40 -07:00
2010-10-08 10:02:53 +01:00
2010-10-29 04:16:28 -04:00
2010-11-10 14:40:43 +01:00
2010-11-17 08:59:32 -08:00
2010-10-26 17:58:44 -07:00
2010-10-22 10:52:56 -07:00
2010-11-17 08:59:32 -08:00
2010-10-30 08:19:35 -07:00
2010-10-25 21:26:13 -04:00
2010-10-26 16:52:13 -07:00
2010-10-15 15:53:27 +02:00
2010-10-27 18:03:18 -07:00
2010-10-27 18:03:13 -07:00
2010-10-27 18:17:02 -07:00
2010-10-15 15:53:27 +02:00
2010-10-26 16:52:15 -07:00
2010-10-30 09:05:48 -07:00
2010-10-26 17:58:44 -07:00
2010-10-29 05:49:13 -04:00
2010-11-19 19:46:45 -08:00
2010-11-15 10:23:31 +01:00
2010-10-28 09:44:56 -07:00
2010-10-27 18:03:12 -07:00
2010-10-29 04:16:33 -04:00
2010-11-17 08:59:32 -08:00
2010-10-28 09:44:56 -07:00
2010-10-29 04:14:56 -04:00
2010-11-17 08:59:32 -08:00
2010-10-15 15:53:27 +02:00
2010-10-29 04:14:56 -04:00
2010-11-28 16:27:19 -08:00
2010-11-17 08:59:32 -08:00
2010-10-27 18:03:18 -07:00
2010-10-25 21:26:12 -04:00
2010-10-26 10:13:10 -07:00
2010-11-28 14:09:57 -08:00
2010-10-29 04:17:03 -04:00
2010-10-15 15:53:27 +02:00