linux_dsm_epyc7002/fs
Tejun Heo e7407d1619 block: bd_link_disk_holder() should hold on to holder_dir
The new implementation of bd_link_disk_holder() added by 49731baa41
(block: restore multiple bd_link_disk_holder() support) didn't get an
extra reference for the holder_dir kobject of the slave bdev; however,
bdev kills holder_dir on removal, not release, so if the slave bdev is
removed while there are holder links, the holder_dir will be destroyed
while there still are holder links, which leads to oops later when
bd_unlink_disk_order() tries to remove those links.

Make bd_link_disk_holder() grab an extra reference for the slave's
holder_dir and put it in bd_unlink_disk_holder().

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: "Hawrylewicz Czarnowski, Przemyslaw" <przemyslaw.hawrylewicz.czarnowski@intel.com>
Tested-by: "Hawrylewicz Czarnowski, Przemyslaw" <przemyslaw.hawrylewicz.czarnowski@intel.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-02-24 08:55:55 -08:00
..
9p
adfs
affs
afs
autofs4
befs
bfs
btrfs Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2011-02-15 08:00:35 -08:00
cachefiles
ceph Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2011-02-21 15:01:38 -08:00
cifs [CIFS] update cifs version 2011-02-21 22:31:47 +00:00
coda
configfs
cramfs
debugfs
devpts
dlm dlm: use single thread workqueues 2011-02-11 16:50:47 -06:00
ecryptfs eCryptfs: Copy up lower inode attrs in getattr 2011-02-21 14:46:36 -06:00
efs
exofs Revert "exofs: Set i_mapping->backing_dev_info anyway" 2011-02-02 17:53:27 -08:00
exportfs
ext2
ext3
ext4 ext4: serialize unaligned asynchronous DIO 2011-02-12 08:17:34 -05:00
fat
freevxfs
fscache
fuse
gfs2 mm: prevent concurrent unmap_mapping_range() on the same inode 2011-02-23 19:52:52 -08:00
hfs
hfsplus hfsplus: fix up a comparism in hfsplus_file_extend 2011-02-03 16:34:18 -07:00
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd
jbd2 jbd2: call __jbd2_log_start_commit with j_state_lock write locked 2011-02-12 08:18:24 -05:00
jffs2
jfs
lockd
logfs
minix
ncpfs
nfs
nfs_common
nfsd nfsd: correctly handle return value from nfsd_map_name_to_* 2011-02-16 18:31:05 -05:00
nilfs2 mm: prevent concurrent unmap_mapping_range() on the same inode 2011-02-23 19:52:52 -08:00
nls
notify
ntfs NTFS: Fix invalid pointer dereference in ntfs_mft_record_alloc(). 2011-01-31 12:58:11 +10:00
ocfs2
omfs
openpromfs
partitions fs/partitions: Validate map_count in Mac partition tables 2011-02-17 17:50:51 -08:00
proc s390: remove task_show_regs 2011-02-15 07:34:16 -08:00
qnx4
quota
ramfs
reiserfs
romfs
squashfs
sysfs
sysv
ubifs
udf
ufs
xfs xfs: check if device support discard in xfs_ioc_trim() 2011-02-22 15:08:44 -06:00
aio.c
anon_inodes.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c
binfmt_elf.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio-integrity.c
bio.c
block_dev.c block: bd_link_disk_holder() should hold on to holder_dir 2011-02-24 08:55:55 -08:00
buffer.c
char_dev.c
compat_binfmt_elf.c
compat_ioctl.c
compat.c
dcache.c
dcookies.c
direct-io.c
drop_caches.c
eventfd.c Docbook: add fs/eventfd.c and fix typos in it 2011-02-21 15:07:04 -08:00
eventpoll.c epoll: epoll_wait() should not use timespec_add_ns() 2011-02-02 16:03:18 -08:00
exec.c vfs: sparse: add __FMODE_EXEC 2011-02-02 16:03:19 -08:00
fcntl.c vfs: sparse: add __FMODE_EXEC 2011-02-02 16:03:19 -08:00
fifo.c
file_table.c CRED: Fix kernel panic upon security_file_alloc() failure. 2011-02-04 10:40:29 -08:00
file.c
filesystems.c
fs_struct.c
fs-writeback.c
generic_acl.c
inode.c mm: prevent concurrent unmap_mapping_range() on the same inode 2011-02-23 19:52:52 -08:00
internal.h
ioctl.c fs: make block fiemap mapping length at least blocksize long 2011-02-02 16:03:20 -08:00
ioprio.c
Kconfig
Kconfig.binfmt
libfs.c
locks.c
Makefile
mbcache.c
mpage.c
namei.c vfs: fix BUG_ON() in fs/namei.c:1461 2011-02-16 08:56:55 -08:00
namespace.c Unlock vfsmount_lock in do_umount 2011-02-24 02:10:57 -05:00
nfsctl.c
no-block.c
open.c Fix possible filp_cachep memory corruption 2011-02-11 15:53:38 -08:00
pipe.c
pnode.c
pnode.h
posix_acl.c
read_write.c
read_write.h
readdir.c
select.c
seq_file.c
signalfd.c
splice.c
stack.c
stat.c
statfs.c
super.c vfs: call rcu_barrier after ->kill_sb() 2011-02-11 16:12:19 -08:00
sync.c
timerfd.c
utimes.c
xattr_acl.c
xattr.c