List of ods5 specific mount options

- option bs=blocksize

ODS-2/5 disks have a default blocksize of 512 bytes. CDs/DVSs when formatted with ODS-2/-5 have a blocksize of 2048 bytes. Disk images usually have the size of the disk, but comtainer files can be any size (and multiple of 512 byte blocks). To optimize the I/Os for the ods5 filesystem the blocksize can be set with the bs option. Default is bs=512. Other possible values are 1024, 2048 and 4096. For CDs one would use bs=2048, for disk images or container files - if they are a multiple of 4096, any of these values can be used. Actually, you can use bs=4096 on most of the disk images and even hard disks as long as the last blocks of that device aren't used. But in case of using a non-default value and the ods5 file system reports an "Input/output error", mount the file system without the bs option and try again.

- option dirless (not yet implemented)

Directories always have the suffix '.DIR;1'. That can be suppressed for input and output. The master file directory shows as '000000'. This does not conflict with a file that has a name '000000'. That file will show as '000000.;1'. This will make it easier to look at /mnt/000000/000000/000000/ which is - as we know - still the masterfile directory.

- option dotversion

Change the ';' to something easier to deal with in shells: '.'. Then the master file directory will be '000000.DIR.1' and the file '.;1' will be '..1'. A dot shows in the output of 'ls' and can be used as input as well. (For input this in not new for VMS users, but that doesn't matter, here.) However, the dotversion option is silently disabled when the syml option is also specified.

- option home=lbn

Use an alternate home block with the specified block number, a non-zero decimal value.

By default ods5 uses lbn 1, the second block on the disk, also known as the primary home block (lbn zero usually is the boot block). ODS disks which require a GPT, for Integrity servers, do not have a primary home block: the GPT is expected at the first disk blocks. VMS then uses an alternate home block. Depending on the size of the ODS disk, good candidates for alternate home blocks are 1034, 2067, ...

The ods5 file system does not try to find an alternate home block. But it tries to use any lbn as specified with the 'home=' option. To find the first two (alternate) home blocks simply do a

# od -a -Ax small.dsk | grep -m2 'D   E   C   F   I   L   E   1   1   B'
0047f0   D   E   C   F   I   L   E   1   1   B  sp  sp nul nul   e   x
0049f0   D   E   C   F   I   L   E   1   1   B  sp  sp nul nul   i   x
# printf "%d\n" $((0x47f0/512))
35
# mount -v -o ro,loop -t ods5 -o home=35 small.dsk /mnt
- option mode=omask

Make the files accessible for other users, set an octal mask value with the mode option. This enables the according protection bits.

- option nomfd

Don't show the masterfile directory, 000000.DIR;1, from the top level directory.

- option syml

With ODS-5 VMS supports symbolic links. An 'ls -l' always shows the target of the symbolic link. To follow such a link specify the option syml. Enabling this feature has some side effects. As input, files and directories without a version number will be found. That is the latest version of a file, if there are more. Also directories without '.DIR;1' will be found. If there is a ';' in the symbolic link, the target will not be found, or a wrong file may be found.
Because of these side effects following a symbolic link is not enabled by default.
If the option syml is enabled the dotversion option is silently disabled.

- option utf8

Enables UTF-8 filename support. This is the default.

All the UTF-8 de- and encodings are done with nls functions. That is, they require CONFIG_NLS_UTF8 to be set in the kernel .config file.

When set, all ISL-1 (ISO Latin-1) and UCS-2 encoded filenames are returned in UTF-8 encoding as well as all UTF-8 encoded names entered will be looked up on the ods5 file system.

Today terminals like xterm by default use UTF-8. To list ODS-5 filenames, which can contain 8-bit ISO Latin-1 or UCS-2 characters, the filename is internally re-encoded as UTF-8 so that it is correctly printed when using such terminals. And vice versa, UTF-8 encoding is accepted, when specifying ODS-5 filesnames.

This is different from what the VMS DCL shows. The DCL shows an escape sequence starting with "^U" followed by uppercase hexadecimal characters. A filename containing only the Greek small alpha character will show on VMS as "^U03B1.;1" By default, that is in utf8 mode, the Linux ods5 filesystem will show this file as "α.;1".

- option vtf7

Enables a VMS style of filename support.

Terminals have to be set up with an ISO Latin-1 character set (for example de_DE.iso88591) to correctly list filenames which contain 8-bit ISO Latin-1 characters. UCS-2 characters in filenames are printed as an escape sequence ?xxxx where xxxx is the code point in plane 0 of Unicode.

This is similar to what the VMS DCL shows. The DCL shows an escape sequence starting with "^U" followed by uppercase hexadecimal characters. A filename containing only the Greek small alpha character will show on VMS as "^U03B1.;1" In vtf7 mode the Linux ods5 filesystem will show this file as "?03B1.;1". Please note, a '?' can not be part of an ODS filename.