David Howells 4bf46a2726 VFS: Impose ordering on accesses of d_inode and d_flags
Impose ordering on accesses of d_inode and d_flags to avoid the need to do
this:

	if (!dentry->d_inode || d_is_negative(dentry)) {

when this:

	if (d_is_negative(dentry)) {

should suffice.

This check is especially problematic if a dentry can have its type field set
to something other than DENTRY_MISS_TYPE when d_inode is NULL (as in
unionmount).

What we really need to do is stick a write barrier between setting d_inode and
setting d_flags and a read barrier between reading d_flags and reading
d_inode.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2015-04-15 15:05:28 -04:00
..
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:37 -04:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2015-03-18 10:29:48 +01:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2015-02-15 11:11:47 -08:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2015-04-11 22:29:40 -04:00
2014-11-19 13:01:20 -05:00
2015-04-11 22:29:39 -04:00
2015-04-11 22:29:44 -04:00
2015-04-11 22:29:43 -04:00
2015-04-11 22:29:40 -04:00
2014-08-26 09:35:56 +02:00
2014-11-19 13:01:26 -05:00