2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-19 02:34:01 +08:00
linux-next/fs/ext4
Miao Xie 10ee27a06c vfs: re-implement writeback_inodes_sb(_nr)_if_idle() and rename them
writeback_inodes_sb(_nr)_if_idle() is re-implemented by replacing down_read()
with down_read_trylock() because

- If ->s_umount is write locked, then the sb is not idle. That is
  writeback_inodes_sb(_nr)_if_idle() needn't wait for the lock.

- writeback_inodes_sb(_nr)_if_idle() grabs s_umount lock when it want to start
  writeback, it may bring us deadlock problem when doing umount. In order to
  fix the problem, ext4 and btrfs implemented their own writeback functions
  instead of writeback_inodes_sb(_nr)_if_idle(), but it introduced the redundant
  code, it is better to implement a new writeback_inodes_sb(_nr)_if_idle().

The name of these two functions is cumbersome, so rename them to
try_to_writeback_inodes_sb(_nr).

This idea came from Christoph Hellwig.
Some code is from the patch of Kamal Mostafa.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
2013-01-12 10:47:43 +08:00
..
acl.c ext4: fix memory leak in ext4_xattr_set_acl()'s error path 2012-11-08 15:11:11 -05:00
acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
balloc.c ext4: Checksum the block bitmap properly with bigalloc enabled 2012-10-22 00:34:32 -04:00
bitmap.c ext4: Checksum the block bitmap properly with bigalloc enabled 2012-10-22 00:34:32 -04:00
block_validity.c ext2/3/4: delete unneeded includes of module.h 2012-01-09 13:52:10 +01:00
dir.c lseek: the "whence" argument is called "whence" 2012-12-17 17:15:12 -08:00
ext4_extents.h ext4: rationalize ext4_extents.h inclusion 2012-11-28 13:03:30 -05:00
ext4_jbd2.c ext4: fix metadata checksum calculation for the superblock 2012-10-10 01:06:58 -04:00
ext4_jbd2.h ext4: remove ext4_handle_release_buffer() 2012-11-08 11:22:46 -05:00
ext4.h There are two major features for this merge window. The first is 2012-12-16 17:33:01 -08:00
extents_status.c ext4: add some tracepoints in extent status tree 2012-11-08 21:57:33 -05:00
extents_status.h ext4: add operations on extent status tree 2012-11-08 21:57:20 -05:00
extents.c ext4: fix extent tree corruption caused by hole punch 2012-12-17 09:55:39 -05:00
file.c Various bug fixes for ext4. Perhaps the most serious bug fixed is one 2013-01-02 09:57:34 -08:00
fsync.c ext4: fix an incorrect comment about i_mutex 2012-12-25 13:31:52 -05:00
hash.c ext4: return 32/64-bit dir name hash according to usage type 2012-03-18 22:44:40 -04:00
ialloc.c ext4: enable ext4 inline support 2012-12-10 14:06:03 -05:00
indirect.c ext4: rationalize ext4_extents.h inclusion 2012-11-28 13:03:30 -05:00
inline.c ext4: zero out inline data using memset() instead of empty_zero_page 2012-12-11 03:31:49 -05:00
inode.c vfs: re-implement writeback_inodes_sb(_nr)_if_idle() and rename them 2013-01-12 10:47:43 +08:00
ioctl.c The big new feature added this time is supporting online resizing 2012-10-08 06:36:39 +09:00
Kconfig ext4: fix configuration dependencies for ext4 ACLs and security labels 2013-01-06 23:38:44 -05:00
Makefile ext4: Remove CONFIG_EXT4_FS_XATTR 2012-12-10 16:30:43 -05:00
mballoc.c ext4: warn when discard request fails other than EOPNOTSUPP 2012-11-08 14:04:52 -05:00
mballoc.h ext4: remove unused macro MB_DEFAULT_MAX_GROUPS_TO_SCAN 2012-08-17 10:00:17 -04:00
migrate.c ext4: rationalize ext4_extents.h inclusion 2012-11-28 13:03:30 -05:00
mmp.c ext4: Convert to new freezing mechanism 2012-07-31 09:45:48 +04:00
move_extent.c ext4: rationalize ext4_extents.h inclusion 2012-11-28 13:03:30 -05:00
namei.c ext4: remove duplicate call to ext4_bread() in ext4_init_new_dir() 2013-01-06 23:40:25 -05:00
page-io.c ext4: rationalize ext4_extents.h inclusion 2012-11-28 13:03:30 -05:00
resize.c ext4: remove ext4_handle_release_buffer() 2012-11-08 11:22:46 -05:00
super.c ext4: lock i_mutex when truncating orphan inodes 2012-12-27 01:42:48 -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: zero out inline data using memset() instead of empty_zero_page 2012-12-11 03:31:49 -05:00
xattr.h ext4: zero out inline data using memset() instead of empty_zero_page 2012-12-11 03:31:49 -05:00