On 14/11/23 23:26, Al Viro wrote:
On Tue, Nov 14, 2023 at 04:30:25PM +0800, Ian Kent wrote:
I'll prepare a patch, the main thing that I was concerned about was
whether the cause really was NULL root_inode but Edward more or less
tested that.
One thing: that was a massaged copy of the variant in my local tree, so
this
managed_dentry_set_managed(s->s_root);
might be worth an explanation; mainline has __managed_dentry_set_managed()
here, and yes, it is safe since nothing can access it yet, but... it's
not worth skipping on spin_lock/spin_unlock for ->d_flags update here.
Sorry, do you mean explanation of why we are not skipping the spin lock
or why we are setting automount trigger flags on the autofs root dentry?
Being a trigger mount (type direct or offset) they do need the flags, the
mount is mounted over the trigger.
I guess that including the locking is not going to make much difference.
I don't remember now but it was probably done because there may be many
mounts (potentially several thousand) being done and I wanted to get rid
of anything that wasn't needed.
Ian