Commit 1869899
f2fs: fix error handling in fill_super
In fill_super, if we fail to call f2fs_build_stats(), it needs to detach
from global f2fs shrink list, otherwise once system starts to shrink slab
cache, we will encounter below panic:
BUG: unable to handle kernel paging request at 00007d35
Oops: 0002 [#1] PREEMPT SMP
EIP: __lock_acquire+0x70/0x12c0
Call Trace:
lock_acquire+0xae/0x220
mutex_trylock+0xc5/0xf0
f2fs_shrink_count+0x32/0xb0 [f2fs]
shrink_slab+0xf1/0x5b0
drop_slab_node+0x35/0x60
drop_slab+0xf/0x20
drop_caches_sysctl_handler+0x79/0xc0
proc_sys_call_handler+0xa4/0xc0
proc_sys_write+0x1f/0x30
__vfs_write+0x24/0x150
SyS_write+0x44/0x90
do_fast_syscall_32+0xa1/0x1ca
entry_SYSENTER_32+0x4c/0x7b
In addition, this patch relocates f2fs_join_shrinker in fill_super to
avoid unneeded error handling of it.
Signed-off-by: Chao Yu <[email protected]>
Signed-off-by: Jaegeuk Kim <[email protected]>1 parent 7c7b469 commit 1869899
1 file changed
+7
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2679 | 2679 | | |
2680 | 2680 | | |
2681 | 2681 | | |
2682 | | - | |
2683 | | - | |
2684 | 2682 | | |
2685 | 2683 | | |
2686 | | - | |
| 2684 | + | |
2687 | 2685 | | |
2688 | 2686 | | |
2689 | 2687 | | |
2690 | 2688 | | |
2691 | 2689 | | |
2692 | 2690 | | |
2693 | | - | |
| 2691 | + | |
2694 | 2692 | | |
2695 | 2693 | | |
2696 | 2694 | | |
| |||
2786 | 2784 | | |
2787 | 2785 | | |
2788 | 2786 | | |
| 2787 | + | |
| 2788 | + | |
2789 | 2789 | | |
2790 | 2790 | | |
2791 | 2791 | | |
| |||
2812 | 2812 | | |
2813 | 2813 | | |
2814 | 2814 | | |
| 2815 | + | |
| 2816 | + | |
2815 | 2817 | | |
2816 | | - | |
2817 | | - | |
2818 | 2818 | | |
2819 | | - | |
| 2819 | + | |
2820 | 2820 | | |
2821 | | - | |
2822 | | - | |
2823 | 2821 | | |
2824 | 2822 | | |
2825 | 2823 | | |
| |||
0 commit comments