On Sat, Nov 16, 2019 at 11:27:59AM +1100, Aleksa Sarai wrote: > + if (unlikely(nd->flags & LOOKUP_IS_SCOPED)) { > + bool m_retry = read_seqretry(&mount_lock, nd->m_seq); > + bool r_retry = read_seqretry(&rename_lock, nd->r_seq); > + > + /* > + * If there was a racing rename or mount along our > + * path, then we can't be sure that ".." hasn't jumped > + * above nd->root (and so userspace should retry or use > + * some fallback). > + */ > + if (unlikely(m_retry || r_retry)) > + return -EAGAIN; > + } > } > return 0;
Elaborate... Do these boolean variables make any sense now, really?