Re: iso9660 vs udf

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Karel Zak <kzak@...>, <jack@...>
Cc: Andries E. Brouwer <Andries.Brouwer@...>, <linux-kernel@...>
Date: Wednesday, September 19, 2007 - 3:37 pm

On Wed, Sep 19, 2007 at 03:23:27PM +0200, Karel Zak wrote:

# blkid -c /dev/null /dev/hdc
/dev/hdc: TYPE="udf" 


# /sbin/vol_id /dev/hdc
ID_FS_USAGE=filesystem
ID_FS_TYPE=udf
ID_FS_VERSION=
ID_FS_UUID=
ID_FS_LABEL=Wisk1956-82
ID_FS_LABEL_SAFE=Wisk1956-82


I think the blkid code started out as a copy of the code in mount(8),
but since then they may have developed independently.

Anyway, mount, blkid, vol_id all think that they see udf.
But the kernel cannot handle this type of udf.


Ha, I hoped that someone would say that.
(But do you still want it if I say that it is mostly
a kernel problem?)

By the way, unfortunately a CD image does not work quite the same
as the real thing.

In udf/lowlevel.c you can read

	unsigned int
	udf_get_last_session(struct super_block *sb) {
		...
		i = ioctl_by_bdev(bdev, CDROMMULTISESSION, ...

and this ioctl will succeed on a CDROM, but fail on a loop device. Ach.

Now what goes wrong? In udf/inode.c/udf_current_aext there is support
for allocation types ICBTAG_FLAG_AD_SHORT (0) and ICBTAG_FLAG_AD_LONG (1)
and for no other types. However, ECMA 167 writes (in 14.6.8):

	0-2 Shall be interpreted as a 3-bit unsigned binary number as follows.
	The value 0 shall mean that Short Allocation Descriptors are used.
	The value 1 shall mean that Long Allocation Descriptors are used.
	The value 2 shall mean that Extended Allocation Descriptors are used.
	The value 3 shall mean that the file shall be treated as though
	it had exactly one allocation descriptor describing an extent
	which starts with the first byte of the Allocation Descriptors field
	and has a length, in bytes, recorded in the Length of Allocation
	Descriptors field.
	The values of 4-7 are reserved for future standardisation.

and this particular CD-ROM uses type 3.
So, I guess udf_current_aext() must be updated a bit.

Andries

[will send you a bzip2'd copy of the start of the CD-ROM separately]


-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
iso9660 vs udf, Andries E. Brouwer, (Sat Sep 15, 5:49 pm)
Re: iso9660 vs udf, Phillip Susi, (Wed Sep 19, 5:51 pm)
Re: iso9660 vs udf, Karel Zak, (Wed Sep 19, 9:23 am)
Re: iso9660 vs udf, Andries E. Brouwer, (Wed Sep 19, 3:37 pm)
Re: iso9660 vs udf, Jan Kara, (Tue Sep 18, 10:47 am)
Re: iso9660 vs udf, Satyam Sharma, (Tue Sep 18, 8:18 pm)
Re: iso9660 vs udf, Andries E. Brouwer, (Tue Sep 18, 8:46 pm)
Re: iso9660 vs udf, Satyam Sharma, (Tue Sep 18, 10:35 pm)
Re: iso9660 vs udf, Krzysztof Halasa, (Wed Sep 19, 7:11 am)
Re: iso9660 vs udf, Andries E. Brouwer, (Wed Sep 19, 4:36 am)
Re: iso9660 vs udf, Kay Sievers, (Wed Sep 19, 7:36 am)
Re: iso9660 vs udf, Randy Dunlap, (Tue Sep 18, 10:44 pm)