summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2014-01-10 08:57:26 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-10 13:51:21 -0800
commit9f010c2ad5194a4b682e747984477850fabd03be (patch)
treee989b667775b3e1bf9b6da90bbaf2815eb103502 /drivers/base
parent895a068a524e134900b9d98b519309b7aae7bbb1 (diff)
downloadlinux-9f010c2ad5194a4b682e747984477850fabd03be.tar.bz2
kernfs: implement kernfs_{de|re}activate[_self]()
This patch implements four functions to manipulate deactivation state - deactivate, reactivate and the _self suffixed pair. A new fields kernfs_node->deact_depth is added so that concurrent and nested deactivations are handled properly. kernfs_node->hash is moved so that it's paired with the new field so that it doesn't increase the size of kernfs_node. A kernfs user's lock would normally nest inside active ref but during removal the user may want to perform kernfs_remove() while holding the said lock, which would introduce a reverse locking dependency. This function can be used to break such reverse dependency by allowing deactivation step to performed separately outside user's critical section. This will also be used implement kernfs_remove_self(). Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base')
0 files changed, 0 insertions, 0 deletions