[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libcdio-devel] [PATCH] Linux: Use getmntent/setmntent for reading m
From: |
Rocky Bernstein |
Subject: |
Re: [Libcdio-devel] [PATCH] Linux: Use getmntent/setmntent for reading mounts |
Date: |
Wed, 2 Feb 2022 21:48:40 -0500 |
Thanks for the patch. This should be applied now in SHA 0d550dc9 on master.
But please double check.
Extra appreciated is something about who you are and why this is important
or how it was discovered.
On Wed, Feb 2, 2022 at 9:18 PM Miguel Borges de Freitas <enen92@kodi.tv>
wrote:
> Also posted the patch to savannah.gnu.org but I am unsure if it is
> actively monitored. Hence I am posting to the mailing list as well -
> apologies if, somehow, you received this twice.
> --------
>
> In Kodi we use libcdio to eject/unmount disks. According to this bug
> report (https://github.com/xbmc/xbmc/issues/20935) kodi/libcdio fails
> to unmount the disk whenever the disk label contains spaces. In the
> /proc/mounts file spaces are octal escaped, like the example below:
>
> /dev/sr0 /run/media/arch/Lawrence\040of\040Arabia udf
> ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8 0 0
>
> The root cause of the problem is in the way libcdio gets the mountpath
> - using regular file I/O. According to the linux documentation
> (https://man7.org/linux/man-pages/man3/getmntent.3.html) when parsing
> fstab/mtab/mounts getmtent and setmtent (and the mtent struct) should
> be used instead:
>
> ```
> Since fields in the mtab and fstab files are separated by
> whitespace, octal escapes are used to represent the characters
> space (\040), tab (\011), newline (\012), and backslash (\\) in those
> files when they occur in one of the four strings in a
> mntent structure. The routines addmntent() and getmntent() will
> convert from string representation to escaped representation and
> back. When converting from escaped representation, the sequence
> \134 is also converted to a backslash.
> ```
>
> Patch file attached, runtime tested.
>
> Regards,
>
> Miguel Borges de Freitas
>