]> git.baikalelectronics.ru Git - kernel.git/commit
ceph: use separate class for ceph sockets' sk_lock
authorSage Weil <sage@newdream.net>
Tue, 13 Apr 2010 21:07:07 +0000 (14:07 -0700)
committerSage Weil <sage@newdream.net>
Tue, 13 Apr 2010 21:07:07 +0000 (14:07 -0700)
commit509e0b2b25b3b06660f2eed8c44acffb6618cf9a
tree3b37dadbf297abdd65b3f63ac8e94a6137098198
parent06e7a4861192052896bb2150f3095595648064f6
ceph: use separate class for ceph sockets' sk_lock

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>
fs/ceph/messenger.c