kernel_optimize_test/fs/btrfs
Li Zefan f106e82caa Btrfs: Fix a crash when mounting a subvolume
We should drop dentry before deactivating the superblock, otherwise
we can hit this bug:

BUG: Dentry f349a690{i=100,n=/} still in use (1) [unmount of btrfs loop1]
...

Steps to reproduce the bug:

  # mount /dev/loop1 /mnt
  # mkdir save
  # btrfs subvolume snapshot /mnt save/snap1
  # umount /mnt
  # mount -o subvol=save/snap1 /dev/loop1 /mnt
  (crash)

Reported-by: Michael Niederle <mniederle@gmx.at>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2010-12-10 16:29:10 -05:00
..
acl.c
async-thread.c
async-thread.h
btrfs_inode.h
compat.h
compression.c btrfs: cleanup duplicate bio allocating functions 2010-11-21 22:26:03 -05:00
compression.h
ctree.c Btrfs: cleanup warnings from gcc 4.6 (nonbugs) 2010-10-29 15:14:37 -04:00
ctree.h btrfs: make 1-bit signed fileds unsigned 2010-11-21 22:26:07 -05:00
delayed-ref.c
delayed-ref.h
dir-item.c Btrfs: Fix variables set but not read (bugs found by gcc 4.6) 2010-10-29 15:14:31 -04:00
disk-io.c Btrfs: don't use migrate page without CONFIG_MIGRATION 2010-11-29 09:49:11 -05:00
disk-io.h
export.c Btrfs: handle NFS lookups properly 2010-11-21 22:26:08 -05:00
export.h
extent_io.c Btrfs: fix fiemap 2010-11-27 13:37:50 -05:00
extent_io.h btrfs: cleanup duplicate bio allocating functions 2010-11-21 22:26:03 -05:00
extent_map.c Btrfs: Use ERR_CAST helpers 2010-10-29 15:14:23 -04:00
extent_map.h
extent-tree.c Btrfs: do not BUG if we fail to remove the orphan item for dead snapshots 2010-12-10 16:29:04 -05:00
file-item.c
file.c Btrfs: hold i_mutex when calling btrfs_log_dentry_safe 2010-11-21 22:26:09 -05:00
free-space-cache.c Btrfs: deal with space cache errors better 2010-12-09 13:57:12 -05:00
free-space-cache.h Btrfs: load free space cache if it exists 2010-10-29 09:26:35 -04:00
hash.h
inode-item.c
inode-map.c
inode.c Btrfs: Fix page leak in compressed writeback path 2010-12-10 16:29:09 -05:00
ioctl.c Btrfs: fix sync subvol/snapshot creation 2010-12-10 16:29:10 -05:00
ioctl.h Btrfs: add SNAP_CREATE_ASYNC ioctl 2010-10-29 21:41:57 -04:00
Kconfig
locking.c
locking.h
Makefile
ordered-data.c Btrfs: deal with DIO bios that span more than one ordered extent 2010-11-28 19:56:33 -05:00
ordered-data.h Btrfs: deal with DIO bios that span more than one ordered extent 2010-11-28 19:56:33 -05:00
orphan.c Btrfs: fixup return code for btrfs_del_orphan_item 2010-12-09 13:57:15 -05:00
print-tree.c
print-tree.h
ref-cache.c
ref-cache.h
relocation.c Btrfs: Fix variables set but not read (bugs found by gcc 4.6) 2010-10-29 15:14:31 -04:00
root-tree.c Btrfs: cleanup warnings from gcc 4.6 (nonbugs) 2010-10-29 15:14:37 -04:00
struct-funcs.c
super.c Btrfs: Fix a crash when mounting a subvolume 2010-12-10 16:29:10 -05:00
sysfs.c
transaction.c Btrfs: use dget_parent where we can UPDATED 2010-11-21 22:26:09 -05:00
transaction.h Btrfs: add START_SYNC, WAIT_SYNC ioctls 2010-10-29 15:41:32 -04:00
tree-defrag.c Btrfs: cleanup warnings from gcc 4.6 (nonbugs) 2010-10-29 15:14:37 -04:00
tree-log.c Btrfs: use dget_parent where we can UPDATED 2010-11-21 22:26:09 -05:00
tree-log.h
version.h
version.sh
volumes.c Btrfs: cleanup warnings from gcc 4.6 (nonbugs) 2010-10-29 15:14:37 -04:00
volumes.h
xattr.c Btrfs: cleanup warnings from gcc 4.6 (nonbugs) 2010-10-29 15:14:37 -04:00
xattr.h
zlib.c Btrfs: cleanup warnings from gcc 4.6 (nonbugs) 2010-10-29 15:14:37 -04:00