Page MenuHomeFreeBSD

namei: Add a comment explaining ISRESTARTED flag
ClosedPublic

Authored by dchagin on Jun 12 2023, 8:38 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 2, 9:57 PM
Unknown Object (File)
Thu, May 2, 9:08 PM
Unknown Object (File)
Thu, May 2, 4:02 PM
Unknown Object (File)
Thu, Apr 25, 5:14 AM
Unknown Object (File)
Mar 14 2024, 6:11 AM
Unknown Object (File)
Mar 14 2024, 6:11 AM
Unknown Object (File)
Mar 14 2024, 6:11 AM
Unknown Object (File)
Mar 14 2024, 6:11 AM
Subscribers

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/kern/vfs_lookup.c
85

I think it should be mention what is restarted. You are switching from ABI root to the actual root.

Done, first version was:

+/*
+ * The ports infrastructure for the non-native (Linux) ABI installs it's
+ * files under the $LOCAL_BASE and the native ABI shares some common files
+ * with a non-native, ie, /etc/passwd. Therefore, a non-native ABI needs a
+ * special technics to dynamically reroot lookup operations.
+ * Dinamic reroot means restart namei, ie, at first, namei() lookups the
+ * file in /ABI root/original-path. If that fails, the lookup is done in
+ * /actual root/original-path.
+ * The namei() can be restarted only if a ABI specifies the ABI root via
+ * a call to pwd_altroot() during exec into that ABI.
+ *
+ * Prepare namei() to restart. Reset components to its original state and set
+ * ISRESTARTED flag which signals the underlying lookup code to change the root
+ * from ABI root to actual root and prevents a further restarts.
+ */

I thought it was too much))

This revision is now accepted and ready to land.Jun 12 2023, 11:11 PM