2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-20 03:04:01 +08:00
linux-next/fs/ext4
Jan Kara cbd7584e6e ext4: fix block reservation for bigalloc filesystems
For bigalloc filesystems we have to check whether newly requested inode
block isn't already part of a cluster for which we already have delayed
allocation reservation. This check happens in ext4_ext_map_blocks() and
that function sets EXT4_MAP_FROM_CLUSTER if that's the case. However if
ext4_da_map_blocks() finds in extent cache information about the block,
we don't call into ext4_ext_map_blocks() and thus we always end up
getting new reservation even if the space for cluster is already
reserved. This results in overreservation and premature ENOSPC reports.

Fix the problem by checking for existing cluster reservation already in
ext4_da_map_blocks(). That simplifies the logic and actually allows us
to get rid of the EXT4_MAP_FROM_CLUSTER flag completely.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2014-11-25 11:41:49 -05:00
..
acl.c ext2/3/4: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00
acl.h ext2/3/4: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00
balloc.c ext4: move error report out of atomic context in ext4_init_block_bitmap() 2014-10-13 03:42:12 -04:00
bitmap.c ext4: Replace open coded mdata csum feature to helper function 2014-10-13 03:36:16 -04:00
block_validity.c fs/ext4: use rbtree postorder iteration helper instead of opencoding 2014-01-23 16:37:03 -08:00
dir.c ext4: convert ext4_bread() to use the ERR_PTR convention 2014-08-29 20:52:15 -04:00
ext4_extents.h ext4: teach ext4_ext_find_extent() to realloc path if necessary 2014-09-01 14:40:09 -04:00
ext4_jbd2.c ext4: fix over-defensive complaint after journal abort 2014-10-01 22:23:15 -04:00
ext4_jbd2.h ext4: don't use MAXQUOTAS value 2014-09-11 11:15:15 -04:00
ext4.h ext4: fix block reservation for bigalloc filesystems 2014-11-25 11:41:49 -05:00
extents_status.c A large number of cleanups and bug fixes, with some (minor) journal 2014-10-20 09:50:11 -07:00
extents_status.h ext4: track extent status tree shrinker delay statictics 2014-09-01 22:26:49 -04:00
extents.c ext4: fix block reservation for bigalloc filesystems 2014-11-25 11:41:49 -05:00
file.c ext4: prevent bugon on race between write/fcntl 2014-10-30 10:53:16 -04:00
fsync.c ext4: Fix fsync error handling after filesystem abort 2013-06-12 22:38:04 -04:00
hash.c ext4: reduce one "if" comparison in ext4_dirhash() 2013-02-01 22:33:21 -05:00
ialloc.c ext4: fix oops when loading block bitmap failed 2014-10-30 10:53:16 -04:00
indirect.c ext4: prepare to drop EXT4_STATE_DELALLOC_RESERVED 2014-09-04 18:07:25 -04:00
inline.c ext4: Replace open coded mdata csum feature to helper function 2014-10-13 03:36:16 -04:00
inode.c ext4: fix block reservation for bigalloc filesystems 2014-11-25 11:41:49 -05:00
ioctl.c ext4: Replace open coded mdata csum feature to helper function 2014-10-13 03:36:16 -04:00
Kconfig ext4: fix Kconfig documentation for CONFIG_EXT4_DEBUG 2013-04-21 20:32:03 -04:00
Makefile ext4: Remove CONFIG_EXT4_FS_XATTR 2012-12-10 16:30:43 -05:00
mballoc.c ext4: kill ext4_kvfree() 2014-11-20 12:19:11 -05:00
mballoc.h ext4: remove unused ac_ex_scanned 2014-02-20 13:32:10 -05:00
migrate.c ext4: rename ext4_ext_find_extent() to ext4_find_extent() 2014-09-01 14:43:09 -04:00
mmp.c ext4: Replace open coded mdata csum feature to helper function 2014-10-13 03:36:16 -04:00
move_extent.c ext4: move_extent improve bh vanishing success factor 2014-11-05 11:52:38 -05:00
namei.c ext4: bail out from make_indexed_dir() on first error 2014-10-30 10:53:17 -04:00
page-io.c Clean ups and miscellaneous bug fixes, in particular for the new 2014-06-08 13:03:35 -07:00
resize.c ext4: kill ext4_kvfree() 2014-11-20 12:19:11 -05:00
super.c ext4: kill ext4_kvfree() 2014-11-20 12:19:11 -05:00
symlink.c ext4: Remove CONFIG_EXT4_FS_XATTR 2012-12-10 16:30:43 -05:00
truncate.h ext4: move common truncate functions to header file 2011-06-27 19:16:04 -04:00
xattr_security.c Merge branch 'for_linus' into for_linus_merged 2012-01-10 11:54:07 -05:00
xattr_trusted.c ext2/3/4: delete unneeded includes of module.h 2012-01-09 13:52:10 +01:00
xattr_user.c ext2/3/4: delete unneeded includes of module.h 2012-01-09 13:52:10 +01:00
xattr.c ext4: Replace open coded mdata csum feature to helper function 2014-10-13 03:36:16 -04:00
xattr.h ext4: each filesystem creates and uses its own mb_cache 2014-03-18 19:24:49 -04:00