Al Viro b023e1728b lookup_fast(): consolidate the RCU success case
1) in case of __follow_mount_rcu() failure, lookup_fast() proceeds
to call unlazy_child() and, should it succeed, handle_mounts().
Note that we have status > 0 (or we wouldn't be calling
__follow_mount_rcu() at all), so all stuff conditional upon
non-positive status won't be even touched.

Consolidate just that sequence after the call of __follow_mount_rcu().

2) calling d_is_negative() and keeping its result is pointless -
we either don't get past checking ->d_seq (and don't use the results of
d_is_negative() at all), or we are guaranteed that ->d_inode and
type bits of ->d_flags had been consistent at the time of d_is_negative()
call.  IOW, we could only get to the use of its result if it's
equal to !inode.  The same ->d_seq check guarantees that after that point
this CPU won't observe ->d_flags values older than ->d_inode update.
So 'negative' variable is completely pointless these days.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2020-03-13 20:59:49 -04:00
..
2019-09-27 15:10:34 -07:00
2020-02-03 17:03:42 +00:00
2019-09-19 09:42:37 -07:00
2019-11-11 09:21:59 -05:00
2019-09-19 09:42:37 -07:00
2020-02-05 05:28:20 +00:00
2020-02-07 17:50:21 -08:00
\n
2020-01-30 15:37:41 -08:00
2019-09-19 09:42:37 -07:00
2020-01-14 13:28:28 -08:00
2020-02-07 14:39:38 +09:00
2019-11-30 10:44:49 -08:00
2019-08-07 21:51:47 -04:00
2020-01-29 19:38:34 -08:00
2020-02-07 14:48:35 -05:00
2020-02-07 14:48:35 -05:00
2020-01-29 18:53:37 -08:00
2020-02-06 06:33:17 +00:00
2020-02-08 13:44:41 -08:00
2020-02-09 15:51:46 -08:00
2020-02-09 15:51:46 -08:00
2020-02-04 11:45:21 +00:00
2019-12-08 14:37:36 +01:00