]> git.baikalelectronics.ru Git - kernel.git/commit
kernfs: make kernfs_get_active() block if the node is deactivated but not removed
authorTejun Heo <tj@kernel.org>
Fri, 10 Jan 2014 13:57:25 +0000 (08:57 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jan 2014 21:48:08 +0000 (13:48 -0800)
commitc7d9c714b082e7fa0a101b3434d57f29803b50e1
tree3989057a5801f0d72dd2640f70479f7593504f7f
parent7b0d43d4d53dbd6b8e2b2b874228a7803fc1a77f
kernfs: make kernfs_get_active() block if the node is deactivated but not removed

Currently, kernfs_get_active() fails if the target node is
deactivated.  This is fine as a node always gets removed after
deactivation; however, we're gonna add reactivation so the assumption
won't hold.  It'd be incorrect for kernfs_get_active() to fail for a
node which was deactivated only temporarily.

This patch makes kernfs_get_active() block if the node is deactivated
but not removed.  If the node gets reactivated (not yet implemented),
it will be retried and succeed.  If the node gets removed, it will be
woken up and fail.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/kernfs/dir.c