On Thu, Apr 18, 2024 at 01:17:34PM GMT, Stefan Berger wrote:
On 4/17/24 09:29, Andrea Bolognani wrote:
> +static bool
> +virFileIsSharedFSOverride(const char *path,
> + char *const *overrides)
> +{
> + g_autofree char *dirpath = NULL;
> + char *p = NULL;
> +
> + if (!path || path[0] != '/' || !overrides)
> + return false;
> +
> + if (g_strv_contains((const char *const *) overrides, path))
> + return true;
> +
> + dirpath = g_strdup(path);
> +
> + /* Continue until we've scanned the entire path */
> + while (p != dirpath) {
> +
> + /* Find the last slash */
> + if ((p = strrchr(dirpath, '/')) == NULL)
> + break;
> +
> + /* Truncate the path by overwriting the slash that we've just
> + * found with a null byte. If it is the very first slash in
> + * the path, we need to handle things slightly differently */
> + if (p == dirpath)
> + *(p+1) = '\0';
> + else
> + *p = '\0';
When admins declare a path as shared they must omit the trailing '/' then.
It may be wroth mentioning this in 2/5.
Very good catch!
It's fairly easy, and certainly much more user-friendly, to remove
trailing slashes when parsing the configuration file instead. I'll
have that in the next respin.
--
Andrea Bolognani / Red Hat / Virtualization