vold: Add support for ISO9660/UDF CD-ROM

This commit is squash of the following commits, with improvements:

	Author: Yumi Yukimura <me.cafebabe@gmail.com>
	Date:   Thu Jul 25 03:38:40 2024 +0800

	    vold: Handle USB CDROM that has both filesystem and partition table

	    * Unlike SATA CDROM, USB CDROM has the same major and minor number,
	      and the same block device name (sdX) as USB Disk.
	    * For SATA CDROM, sgdisk_read() would fail, but for USB CDROM it
	      won't fail if partition table is found.
	    * ISO image generated by grub-mkrescue is in such format.

	Author: Chih-Wei Huang <cwhuang@linux.org.tw>
	Date:   Sat Mar 25 16:46:42 2017 +0000

	    vold3: support UDF (Universal Disk Format)

	    Refer to https://en.wikipedia.org/wiki/Universal_Disk_Format.

	    [cafebabe: Apply fixups suggested by Luca Stefani]

	Author: Chih-Wei Huang <cwhuang@linux.org.tw>
	Date:   Sat Mar 25 16:45:41 2017 +0000

	    vold3: auto mount CDROM

	    Luo Chunbo's ISO9660 support (commit 133632d5) is not complete. Still
	    need to handle block devices with major number of CDROM.

	    [cafebabe: Refactor in PublicVolume::doMount()]

	Author: Luo Chunbo <luochunbo@jidemail.com>
	Date:   Wed May 25 16:16:48 2016 +0800

	    vold: ISO9660 support

	    Ref: T7691

	    [cafebabe: Remove MS_DIRSYNC and utf8 flags which are "Invalid argument", Refactor iso9660::Mount() (Suggested edit by Luca Stefani)]

	    Signed-off-by: Luo Chunbo <luochunbo@jidemail.com>

Change-Id: Ideef1064e509cfc5e3bc4cfe9d41cc8149767e6c
8 files changed