linux/fs/f2fs
Jaegeuk Kim fc2d64ec5d FROMGIT: f2fs: don't sleep while grabing nat_tree_lock
This tries to fix priority inversion in the below condition resulting in
long checkpoint delay.

f2fs_get_node_info()
 - nat_tree_lock
  -> sleep to grab journal_rwsem by contention

                                     checkpoint
                                     - waiting for nat_tree_lock

In order to let checkpoint go, let's release nat_tree_lock, if there's a
journal_rwsem contention.

Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Bug: 191987855
(cherry picked from commit 2eeb0dce72
 git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev)
Change-Id: I97ac4f9d3bde399ab4f17f5b3a6e949ae9b79f0f
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2021-07-29 01:29:53 +00:00
..
acl.c f2fs: clean up build warnings 2021-04-11 20:34:05 -07:00
acl.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
checkpoint.c Revert "f2fs: avoid attaching SB_ACTIVE flag during mount/remount" 2021-06-23 01:42:05 -07:00
compress.c f2fs: compress: add compress_inode to cache compressed blocks 2021-06-07 10:21:37 -07:00
data.c FROMGIT: f2fs: let's keep writing IOs on SBI_NEED_FSCK 2021-07-22 23:53:01 +00:00
debug.c FROMGIT: f2fs: add sysfs nodes to get GC info for each GC mode 2021-07-16 00:21:51 +00:00
dir.c f2fs: introduce f2fs_casefolded_name slab cache 2021-06-21 07:24:24 -07:00
extent_cache.c f2fs: support 64-bits key in f2fs rb-tree node entry 2020-09-10 14:03:30 -07:00
f2fs.h FROMGIT: f2fs: add sysfs nodes to get GC info for each GC mode 2021-07-16 00:21:51 +00:00
file.c Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.10.y' into android12-5.10 2021-06-23 19:54:41 -07:00
gc.c FROMGIT: f2fs: add sysfs nodes to get GC info for each GC mode 2021-07-16 00:21:51 +00:00
gc.h f2fs: introduce gc_merge mount option 2021-03-30 20:59:19 -07:00
hash.c f2fs: Handle casefolding with Encryption 2020-12-21 13:33:14 -08:00
inline.c Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.10.y' into android12-5.10 2021-06-04 16:30:01 -07:00
inode.c f2fs: compress: add compress_inode to cache compressed blocks 2021-06-07 10:21:37 -07:00
Kconfig f2fs: compress: Allow modular (de)compression algorithms 2021-03-24 15:50:10 -07:00
Makefile f2fs: deprecate f2fs_trace_io 2021-01-26 23:06:01 -08:00
namei.c f2fs: compress: fix to disallow temp extension 2021-05-26 07:45:52 -07:00
node.c FROMGIT: f2fs: don't sleep while grabing nat_tree_lock 2021-07-29 01:29:53 +00:00
node.h f2fs: swap: support migrating swapfile in aligned write mode 2021-06-07 10:21:38 -07:00
recovery.c Revert "f2fs: avoid attaching SB_ACTIVE flag during mount/remount" 2021-06-23 01:42:05 -07:00
segment.c FROMGIT: f2fs: let's keep writing IOs on SBI_NEED_FSCK 2021-07-22 23:53:01 +00:00
segment.h f2fs: fix to avoid touching checkpointed data in get_victim() 2021-03-25 18:26:16 -07:00
shrinker.c f2fs: avoid race condition for shrinker count 2021-01-06 14:56:54 +01:00
super.c Revert "f2fs: avoid attaching SB_ACTIVE flag during mount/remount" 2021-06-23 01:42:05 -07:00
sysfs.c FROMGIT: f2fs: add sysfs nodes to get GC info for each GC mode 2021-07-16 00:21:51 +00:00
verity.c f2fs: fix error handling in f2fs_end_enable_verity() 2021-05-11 14:47:34 +02:00
xattr.c Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.10.y' into android12-5.10 2021-05-14 18:14:44 -07:00
xattr.h f2fs: code cleanup by removing ifdef macro surrounding 2020-05-26 18:56:10 -07:00