xref: /linux/Documentation/filesystems/udf.rst (revision c9817ad5d82f04fbc66278eda27bff094dcb3119)
1*c9817ad5SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0
2*c9817ad5SMauro Carvalho Chehab
3*c9817ad5SMauro Carvalho Chehab===============
4*c9817ad5SMauro Carvalho ChehabUDF file system
5*c9817ad5SMauro Carvalho Chehab===============
6*c9817ad5SMauro Carvalho Chehab
7*c9817ad5SMauro Carvalho ChehabIf you encounter problems with reading UDF discs using this driver,
8*c9817ad5SMauro Carvalho Chehabplease report them according to MAINTAINERS file.
9*c9817ad5SMauro Carvalho Chehab
10*c9817ad5SMauro Carvalho ChehabWrite support requires a block driver which supports writing.  Currently
11*c9817ad5SMauro Carvalho Chehabdvd+rw drives and media support true random sector writes, and so a udf
12*c9817ad5SMauro Carvalho Chehabfilesystem on such devices can be directly mounted read/write.  CD-RW
13*c9817ad5SMauro Carvalho Chehabmedia however, does not support this.  Instead the media can be formatted
14*c9817ad5SMauro Carvalho Chehabfor packet mode using the utility cdrwtool, then the pktcdvd driver can
15*c9817ad5SMauro Carvalho Chehabbe bound to the underlying cd device to provide the required buffering
16*c9817ad5SMauro Carvalho Chehaband read-modify-write cycles to allow the filesystem random sector writes
17*c9817ad5SMauro Carvalho Chehabwhile providing the hardware with only full packet writes.  While not
18*c9817ad5SMauro Carvalho Chehabrequired for dvd+rw media, use of the pktcdvd driver often enhances
19*c9817ad5SMauro Carvalho Chehabperformance due to very poor read-modify-write support supplied internally
20*c9817ad5SMauro Carvalho Chehabby drive firmware.
21*c9817ad5SMauro Carvalho Chehab
22*c9817ad5SMauro Carvalho Chehab-------------------------------------------------------------------------------
23*c9817ad5SMauro Carvalho Chehab
24*c9817ad5SMauro Carvalho ChehabThe following mount options are supported:
25*c9817ad5SMauro Carvalho Chehab
26*c9817ad5SMauro Carvalho Chehab	===========	======================================
27*c9817ad5SMauro Carvalho Chehab	gid=		Set the default group.
28*c9817ad5SMauro Carvalho Chehab	umask=		Set the default umask.
29*c9817ad5SMauro Carvalho Chehab	mode=		Set the default file permissions.
30*c9817ad5SMauro Carvalho Chehab	dmode=		Set the default directory permissions.
31*c9817ad5SMauro Carvalho Chehab	uid=		Set the default user.
32*c9817ad5SMauro Carvalho Chehab	bs=		Set the block size.
33*c9817ad5SMauro Carvalho Chehab	unhide		Show otherwise hidden files.
34*c9817ad5SMauro Carvalho Chehab	undelete	Show deleted files in lists.
35*c9817ad5SMauro Carvalho Chehab	adinicb		Embed data in the inode (default)
36*c9817ad5SMauro Carvalho Chehab	noadinicb	Don't embed data in the inode
37*c9817ad5SMauro Carvalho Chehab	shortad		Use short ad's
38*c9817ad5SMauro Carvalho Chehab	longad		Use long ad's (default)
39*c9817ad5SMauro Carvalho Chehab	nostrict	Unset strict conformance
40*c9817ad5SMauro Carvalho Chehab	iocharset=	Set the NLS character set
41*c9817ad5SMauro Carvalho Chehab	===========	======================================
42*c9817ad5SMauro Carvalho Chehab
43*c9817ad5SMauro Carvalho ChehabThe uid= and gid= options need a bit more explaining.  They will accept a
44*c9817ad5SMauro Carvalho Chehabdecimal numeric value and all inodes on that mount will then appear as
45*c9817ad5SMauro Carvalho Chehabbelonging to that uid and gid.  Mount options also accept the string "forget".
46*c9817ad5SMauro Carvalho ChehabThe forget option causes all IDs to be written to disk as -1 which is a way
47*c9817ad5SMauro Carvalho Chehabof UDF standard to indicate that IDs are not supported for these files .
48*c9817ad5SMauro Carvalho Chehab
49*c9817ad5SMauro Carvalho ChehabFor typical desktop use of removable media, you should set the ID to that of
50*c9817ad5SMauro Carvalho Chehabthe interactively logged on user, and also specify the forget option.  This way
51*c9817ad5SMauro Carvalho Chehabthe interactive user will always see the files on the disk as belonging to him.
52*c9817ad5SMauro Carvalho Chehab
53*c9817ad5SMauro Carvalho ChehabThe remaining are for debugging and disaster recovery:
54*c9817ad5SMauro Carvalho Chehab
55*c9817ad5SMauro Carvalho Chehab	=====		================================
56*c9817ad5SMauro Carvalho Chehab	novrs		Skip volume sequence recognition
57*c9817ad5SMauro Carvalho Chehab	=====		================================
58*c9817ad5SMauro Carvalho Chehab
59*c9817ad5SMauro Carvalho ChehabThe following expect a offset from 0.
60*c9817ad5SMauro Carvalho Chehab
61*c9817ad5SMauro Carvalho Chehab	==========	=================================================
62*c9817ad5SMauro Carvalho Chehab	session=	Set the CDROM session (default= last session)
63*c9817ad5SMauro Carvalho Chehab	anchor=		Override standard anchor location. (default= 256)
64*c9817ad5SMauro Carvalho Chehab	lastblock=	Set the last block of the filesystem/
65*c9817ad5SMauro Carvalho Chehab	==========	=================================================
66*c9817ad5SMauro Carvalho Chehab
67*c9817ad5SMauro Carvalho Chehab-------------------------------------------------------------------------------
68*c9817ad5SMauro Carvalho Chehab
69*c9817ad5SMauro Carvalho Chehab
70*c9817ad5SMauro Carvalho ChehabFor the latest version and toolset see:
71*c9817ad5SMauro Carvalho Chehab	https://github.com/pali/udftools
72*c9817ad5SMauro Carvalho Chehab
73*c9817ad5SMauro Carvalho ChehabDocumentation on UDF and ECMA 167 is available FREE from:
74*c9817ad5SMauro Carvalho Chehab	- http://www.osta.org/
75*c9817ad5SMauro Carvalho Chehab	- http://www.ecma-international.org/
76