split read_seqretry_or_unlock(), convert d_walk() to resulting primitives
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 9 Sep 2013 19:22:25 +0000 (15:22 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 9 Sep 2013 19:22:25 +0000 (15:22 -0400)
commit48f5ec21d9c67e881ff35343988e290ef5cf933f
tree515af9f0288fbdee85f2ba1fdc2d20e088a1fb17
parent232d2d60aa5469bb097f55728f65146bd49c1d25
split read_seqretry_or_unlock(), convert d_walk() to resulting primitives

Separate "check if we need to retry" from "unlock if we are done and
had seq_writelock"; that allows to use these guys in d_walk(), where
we need to recheck every time we ascend back to parent, but do *not*
want to unlock until the very end.  Lift rcu_read_lock/rcu_read_unlock
out into callers.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c