linux_dsm_epyc7002/include
Miklos Szeredi 848ac114e8 vfs: check submounts and drop atomically
We check submounts before doing d_drop() on a non-empty directory dentry in
NFS (have_submounts()), but we do not exclude a racing mount.

 Process A: have_submounts() -> returns false
 Process B: mount() -> success
 Process A: d_drop()

This patch prepares the ground for the fix by doing the following
operations all under the same rename lock:

  have_submounts()
  shrink_dcache_parent()
  d_drop()

This is actually an optimization since have_submounts() and
shrink_dcache_parent() both traverse the same dentry tree separately.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
CC: David Howells <dhowells@redhat.com>
CC: Steven Whitehouse <swhiteho@redhat.com>
CC: Trond Myklebust <Trond.Myklebust@netapp.com>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-09-05 16:23:41 -04:00
..
acpi Merge branch 'acpi-hotplug' 2013-08-30 14:14:25 +02:00
asm-generic Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-09-04 09:36:54 -07:00
clocksource clocksource: arch_timer: Add support for memory mapped timers 2013-08-01 01:13:37 +02:00
crypto
drm drm/exynos: fimd: replace struct fb_videomode with videomode 2013-09-05 13:43:44 +09:00
dt-bindings sound updates for 3.12-rc1 2013-09-04 16:26:56 -07:00
keys
kvm ARM: KVM: vgic: Bump VGIC_NR_IRQS to 256 2013-08-30 16:12:39 +03:00
linux vfs: check submounts and drop atomically 2013-09-05 16:23:41 -04:00
math-emu
media [media] v4l2: added missing mutex.h include to v4l2-ctrls.h 2013-07-26 10:14:52 -03:00
memory
misc
net Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2013-09-03 18:25:03 -07:00
pcmcia
ras
rdma Merge branches 'cxgb4', 'flowsteer', 'ipoib', 'iser', 'mlx4', 'ocrdma' and 'qib' into for-next 2013-09-03 09:01:08 -07:00
rxrpc
scsi [SCSI] Generate uevents on certain unit attention codes 2013-08-26 18:52:27 +04:00
sound Merge remote-tracking branch 'asoc/topic/fsl' into tmp 2013-09-01 21:15:52 +01:00
target
trace New features for 3.12: 2013-09-04 17:19:27 -07:00
uapi Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-09-05 10:17:26 -07:00
video fbdev changes for 3.12: 2013-09-05 09:49:32 -07:00
xen Features: 2013-09-04 17:45:39 -07:00
Kbuild