Yi Li
b918c43021
ocfs2: fix panic due to ocfs2_wq is null
mount.ocfs2 failed when reading ocfs2 filesystem superblock encounters
an error. ocfs2_initialize_super() returns before allocating ocfs2_wq.
ocfs2_dismount_volume() triggers the following panic.
Oct 15 16:09:27 cnwarekv-205120 kernel: On-disk corruption discovered.Please run fsck.ocfs2 once the filesystem is unmounted.
Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_read_locked_inode:537 ERROR: status = -30
Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_init_global_system_inodes:458 ERROR: status = -30
Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_init_global_system_inodes:491 ERROR: status = -30
Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_initialize_super:2313 ERROR: status = -30
Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_fill_super:1033 ERROR: status = -30
------------[ cut here ]------------
Oops: 0002 [#1] SMP NOPTI
CPU: 1 PID: 11753 Comm: mount.ocfs2 Tainted: G E
4.14.148-200.ckv.x86_64 #1
Hardware name: Sugon H320-G30/35N16-US, BIOS 0SSDX017 12/21/2018
task: ffff967af0520000 task.stack: ffffa5f05484000
RIP: 0010:mutex_lock+0x19/0x20
Call Trace:
flush_workqueue+0x81/0x460
ocfs2_shutdown_local_alloc+0x47/0x440 [ocfs2]
ocfs2_dismount_volume+0x84/0x400 [ocfs2]
ocfs2_fill_super+0xa4/0x1270 [ocfs2]
? ocfs2_initialize_super.isa.211+0xf20/0xf20 [ocfs2]
mount_bdev+0x17f/0x1c0
mount_fs+0x3a/0x160
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Yi Li <[email protected]>
Reviewed-by: Joseph Qi <[email protected]>
Cc: Mark Fasheh <[email protected]>
Cc: Joel Becker <[email protected]>
Cc: Junxiao Bi <[email protected]>
Cc: Changwei Ge <[email protected]>
Cc: Gang He <[email protected]>
Cc: Jun Piao <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
2019-10-19 06:32:32 -04:00 |
| .. |
|
cluster
|
ocfs2: further debugfs cleanups
|
2019-09-24 15:54:07 -07:00 |
|
dlm
|
ocfs2: wait for recovering done after direct unlock request
|
2019-09-24 15:54:07 -07:00 |
|
dlmfs
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
acl.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
acl.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
alloc.c
|
ocfs2: checkpoint appending truncate log transaction before flushing
|
2019-09-24 15:54:07 -07:00 |
|
alloc.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
aops.c
|
fs: ocfs2: fix a possible null-pointer dereference in ocfs2_write_end_nolock()
|
2019-10-07 15:47:19 -07:00 |
|
aops.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
blockcheck.c
|
ocfs2: further debugfs cleanups
|
2019-09-24 15:54:07 -07:00 |
|
blockcheck.h
|
ocfs: no need to check return value of debugfs_create functions
|
2019-07-12 11:05:41 -07:00 |
|
buffer_head_io.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
buffer_head_io.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
dcache.c
|
fs/ocfs2: fix race in ocfs2_dentry_attach_lock()
|
2019-06-13 17:34:56 -10:00 |
|
dcache.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
dir.c
|
fs/ocfs2/dir.c: remove set but not used variables
|
2019-09-24 15:54:07 -07:00 |
|
dir.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
dlmglue.c
|
ocfs2: delete unnecessary checks before brelse()
|
2019-09-24 15:54:07 -07:00 |
|
dlmglue.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
export.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
export.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
extent_map.c
|
ocfs2: delete unnecessary checks before brelse()
|
2019-09-24 15:54:07 -07:00 |
|
extent_map.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 405
|
2019-06-05 17:37:13 +02:00 |
|
file.c
|
ocfs2: fix error handling in ocfs2_setattr()
|
2019-10-19 06:32:32 -04:00 |
|
file.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
filecheck.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 286
|
2019-06-05 17:36:37 +02:00 |
|
filecheck.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 286
|
2019-06-05 17:36:37 +02:00 |
|
heartbeat.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
heartbeat.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
inode.c
|
ocfs2: fix spelling mistake "ambigous" -> "ambiguous"
|
2019-09-24 15:54:07 -07:00 |
|
inode.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
ioctl.c
|
fs: ocfs2: fix a possible null-pointer dereference in ocfs2_info_scan_inode_alloc()
|
2019-10-07 15:47:19 -07:00 |
|
ioctl.h
|
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
|
2017-11-02 11:10:55 +01:00 |
|
journal.c
|
ocfs2: fix panic due to ocfs2_wq is null
|
2019-10-19 06:32:32 -04:00 |
|
journal.h
|
ocfs2: remove unused ocfs2_orphan_scan_exit() declaration
|
2019-09-24 15:54:07 -07:00 |
|
Kconfig
|
treewide: Add SPDX license identifier - Makefile/Kconfig
|
2019-05-21 10:50:46 +02:00 |
|
localalloc.c
|
ocfs2: fix panic due to ocfs2_wq is null
|
2019-10-19 06:32:32 -04:00 |
|
localalloc.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
locks.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
locks.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
Makefile
|
ocfs2: improve ocfs2 Makefile
|
2018-12-28 12:11:45 -08:00 |
|
mmap.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
mmap.h
|
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
|
2017-11-02 11:10:55 +01:00 |
|
move_extents.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
move_extents.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
namei.c
|
fs/ocfs2/namei.c: remove set but not used variables
|
2019-09-24 15:54:07 -07:00 |
|
namei.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
ocfs1_fs_compat.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 405
|
2019-06-05 17:37:13 +02:00 |
|
ocfs2.h
|
ocfs2: further debugfs cleanups
|
2019-09-24 15:54:07 -07:00 |
|
ocfs2_fs.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 405
|
2019-06-05 17:37:13 +02:00 |
|
ocfs2_ioctl.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
ocfs2_lockid.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
ocfs2_lockingver.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
ocfs2_trace.h
|
ocfs2: fix the application IO timeout when fstrim is running
|
2019-03-05 21:07:13 -08:00 |
|
quota.h
|
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
|
2017-11-02 11:10:55 +01:00 |
|
quota_global.c
|
ocfs2: convert to new i_version API
|
2018-01-29 06:42:21 -05:00 |
|
quota_local.c
|
ocfs2: return -EROFS when filesystem becomes read-only
|
2018-08-17 16:20:27 -07:00 |
|
refcounttree.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
refcounttree.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
reservations.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
reservations.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |
|
resize.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
resize.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
slot_map.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
slot_map.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
stack_o2cb.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 286
|
2019-06-05 17:36:37 +02:00 |
|
stack_user.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 286
|
2019-06-05 17:36:37 +02:00 |
|
stackglue.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 286
|
2019-06-05 17:36:37 +02:00 |
|
stackglue.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 286
|
2019-06-05 17:36:37 +02:00 |
|
suballoc.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
suballoc.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
super.c
|
ocfs2: further debugfs cleanups
|
2019-09-24 15:54:07 -07:00 |
|
super.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
symlink.c
|
|
|
|
symlink.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
sysfile.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
sysfile.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
uptodate.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
uptodate.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 145
|
2019-05-30 11:25:18 -07:00 |
|
xattr.c
|
fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()
|
2019-10-07 15:47:19 -07:00 |
|
xattr.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
|
2019-05-30 11:26:41 -07:00 |