https://github.com/torvalds/linux
Revision a6a5349d17f2a5c37079826f1a1474c3d08c6b53 authored by Sage Weil on 13 April 2010, 21:07:07 UTC, committed by Sage Weil on 13 April 2010, 21:07:07 UTC
Use a separate class for ceph sockets to prevent lockdep confusion.
Because ceph sockets only get passed kernel pointers, there is no
dependency from sk_lock -> mmap_sem.  If we share the same class as other
sockets, lockdep detects a circular dependency from

	mmap_sem (page fault) -> fs mutex -> sk_lock -> mmap_sem

because dependencies are noted from both ceph and user contexts.  Using
a separate class prevents the sk_lock(ceph) -> mmap_sem dependency and
makes lockdep happy.

Signed-off-by: Sage Weil <sage@newdream.net>
1 parent e1e4dd0
History
Tip revision: a6a5349d17f2a5c37079826f1a1474c3d08c6b53 authored by Sage Weil on 13 April 2010, 21:07:07 UTC
ceph: use separate class for ceph sockets' sk_lock
Tip revision: a6a5349
File Mode Size
Kconfig -rw-r--r-- 3.1 KB
Kconfig.iosched -rw-r--r-- 1.9 KB
Makefile -rw-r--r-- 582 bytes
blk-barrier.c -rw-r--r-- 10.6 KB
blk-cgroup.c -rw-r--r-- 9.7 KB
blk-cgroup.h -rw-r--r-- 3.8 KB
blk-core.c -rw-r--r-- 67.0 KB
blk-exec.c -rw-r--r-- 2.6 KB
blk-integrity.c -rw-r--r-- 9.9 KB
blk-ioc.c -rw-r--r-- 3.8 KB
blk-iopoll.c -rw-r--r-- 5.9 KB
blk-map.c -rw-r--r-- 8.1 KB
blk-merge.c -rw-r--r-- 10.6 KB
blk-settings.c -rw-r--r-- 24.7 KB
blk-softirq.c -rw-r--r-- 4.1 KB
blk-sysfs.c -rw-r--r-- 13.0 KB
blk-tag.c -rw-r--r-- 9.9 KB
blk-timeout.c -rw-r--r-- 5.7 KB
blk.h -rw-r--r-- 4.5 KB
bsg.c -rw-r--r-- 23.4 KB
cfq-iosched.c -rw-r--r-- 97.7 KB
compat_ioctl.c -rw-r--r-- 22.1 KB
deadline-iosched.c -rw-r--r-- 11.4 KB
elevator.c -rw-r--r-- 24.5 KB
genhd.c -rw-r--r-- 29.9 KB
ioctl.c -rw-r--r-- 8.2 KB
noop-iosched.c -rw-r--r-- 2.6 KB
scsi_ioctl.c -rw-r--r-- 18.0 KB

back to top