fix idiotic braino in d_alloc_parallel()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 20 Jun 2016 05:35:59 +0000 (01:35 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 20 Jun 2016 14:07:42 +0000 (10:07 -0400)
commite7d6ef9790bc281f5c29d0132b68031248523fe8
tree28ce8447fcc8269544d576de196df8efa335abd2
parentea01a18494b3d7a91b2f1f2a6a5aaef4741bc294
fix idiotic braino in d_alloc_parallel()

Check for d_unhashed() while searching in in-lookup hash was absolutely
wrong.  Worse, it masked a deadlock on dget() done under bitlock that
nests inside ->d_lock.  Thanks to J. R. Okajima for spotting it.

Spotted-by: "J. R. Okajima" <hooanon05g@gmail.com>
Wearing-brown-paperbag: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c