use ->d_seq to get coherency between ->d_inode and ->d_flags
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 29 Feb 2016 17:12:46 +0000 (12:12 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 29 Feb 2016 17:16:43 +0000 (12:16 -0500)
commita528aca7f359f4b0b1d72ae406097e491a5ba9ea
tree26b95bc4e207d3bd6afc11affbfa0fe85ac53b6a
parent5129fa482b16615fd4464d2f5d23acb1b7056c66
use ->d_seq to get coherency between ->d_inode and ->d_flags

Games with ordering and barriers are way too brittle.  Just
bump ->d_seq before and after updating ->d_inode and ->d_flags
type bits, so that verifying ->d_seq would guarantee they are
coherent.

Cc: stable@vger.kernel.org # v3.13+
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c
include/linux/dcache.h