]> git.baikalelectronics.ru Git - kernel.git/commit
sysfs: Use one lockdep class per sysfs attribute.
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 11 Feb 2010 23:21:53 +0000 (15:21 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 8 Mar 2010 01:04:51 +0000 (17:04 -0800)
commitfcb21f7e9f89fcea645e475fd69df4b5493ce02e
treebef650bfb9355b8d7cbb7a5acb3632c02ec7fbe7
parent9e6422a1f5a7df9d871e68c7eed4797d9e10df7c
sysfs: Use one lockdep class per sysfs attribute.

Acknowledge that the logical sysfs rwsem has one instance per
sysfs attribute with different locking depencencies for different
attributes.

There is a sysfs idiom where writing to one sysfs file causes the
addition or removal of other sysfs files.   Lumping all of the
sysfs attributes together in one lock class causes lockdep to
generate lots of false positives.

This introduces the requirement that non-static sysfs attributes
need to be initialized with sysfs_attr_init or sysfs_bin_attr_init.
Strictly speaking this requirement only exists when lockdep is
enabled, and when lockdep is enabled we get a bit fat warning
if this requirement is not met.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/sysfs/sysfs.h
include/linux/sysfs.h