linux/fs/ufs
Al Viro f53bd1421b __ufs_truncate_blocks(): avoid excessive dirtying of indirect blocks
There's a case when an indirect block gets dirtied for no good
reason - when there's a hole starting in the middle of area
covered by it and spanning past its end, and truncate() is done
precisely to the beginning of the hole.

The block is obviously not modified at all - all removals happen
beyond it.  However, existing code ends up dirtying it just in
case.  It's trivial to fix and while it's not a real bug by any
stretch of imagination, it makes the damn thing harder to follow.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2015-07-06 17:39:51 -04:00
..
balloc.c ufs: don't use lock_ufs() for block pointers tree protection 2015-07-06 17:39:25 -04:00
cylinder.c
dir.c ufs: use dir_pages instead of ufs_dir_pages() 2015-06-23 18:02:01 -04:00
file.c make new_sync_{read,write}() static 2015-04-11 22:29:40 -04:00
ialloc.c fs/ufs: restore s_lock mutex 2015-06-16 02:07:38 -04:00
inode.c __ufs_truncate_blocks(): avoid excessive dirtying of indirect blocks 2015-07-06 17:39:51 -04:00
Kconfig fs/ufs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:06 -08:00
Makefile ufs: move truncate code into inode.c 2015-07-06 17:39:30 -04:00
namei.c Merge branch 'for-linus' into for-next 2015-06-17 14:44:05 -04:00
super.c ufs: kill lock_ufs() 2015-07-06 17:39:26 -04:00
swab.h
symlink.c ufs: switch to simple_follow_link() 2015-05-10 22:18:25 -04:00
ufs_fs.h fs/ufs: get rid of write_super 2012-07-22 23:58:16 +04:00
ufs.h ufs: move truncate code into inode.c 2015-07-06 17:39:30 -04:00
util.c fs: ufs: remove cast for kmalloc return value 2013-03-18 14:15:58 +01:00
util.h ufs: use little-endian bitops 2011-03-23 19:46:19 -07:00