Boaz Harrosh efd124b999 exofs: simple_write_end does not mark_inode_dirty
exofs uses simple_write_end() for it's .write_end handler. But
it is not enough because simple_write_end() does not call
mark_inode_dirty() when it extends i_size. So even if we do
call mark_inode_dirty at beginning of write out, with a very
long IO and a saturated system we might get the .write_inode()
called while still extend-writing to file and miss out on the last
i_size updates.

So override .write_end, call simple_write_end(), and afterwords if
i_size was changed call mark_inode_dirty().

It stands to logic that since simple_write_end() was the one extending
i_size it should also call mark_inode_dirty(). But it looks like all
users of simple_write_end() are memory-bound pseudo filesystems, who
could careless about mark_inode_dirty(). I might submit a
warning-comment patch to simple_write_end() in future.

CC: Stable <stable@kernel.org>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
2010-01-05 09:14:32 +02:00
..
2009-12-10 15:02:50 +01:00
2009-12-15 08:53:10 -08:00
2009-12-16 07:20:06 -08:00
2009-12-22 12:27:35 -05:00
2009-12-20 20:19:51 -08:00
2009-12-17 11:03:25 -05:00
2009-12-16 07:20:18 -08:00
2009-12-17 11:03:25 -05:00
2009-12-14 21:40:04 +01:00
2009-12-16 07:20:06 -08:00
2009-12-17 11:03:25 -05:00
2009-12-16 07:20:13 -08:00
2009-12-22 12:27:34 -05:00
2009-09-24 08:41:47 -04:00
2009-09-24 07:21:03 -07:00
2009-12-17 04:52:13 -05:00
2009-12-17 11:03:25 -05:00
2009-12-14 18:12:11 -05:00
2009-12-22 12:27:34 -05:00
2009-12-17 10:51:40 -05:00
2009-10-04 15:05:10 -07:00
2009-12-16 12:16:49 -05:00