Documentation/filesystems/hpfs.rst

Source file repositories/reference/linux-study-clean/Documentation/filesystems/hpfs.rst

File Facts

System
Linux kernel
Corpus path
Documentation/filesystems/hpfs.rst
Extension
.rst
Size
15768 bytes
Lines
354
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0

====================
Read/Write HPFS 2.09
====================

1998-2004, Mikulas Patocka

:email: mikulas@artax.karlin.mff.cuni.cz
:homepage: https://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/index-e.cgi

Credits
=======
Chris Smith, 1993, original read-only HPFS, some code and hpfs structures file
	is taken from it

Jacques Gelinas, MSDos mmap, Inspired by fs/nfs/mmap.c (Jon Tombs 15 Aug 1993)

Werner Almesberger, 1992, 1993, MSDos option parser & CR/LF conversion

Mount options

uid=xxx,gid=xxx,umask=xxx (default uid=gid=0 umask=default_system_umask)
	Set owner/group/mode for files that do not have it specified in extended
	attributes. Mode is inverted umask - for example umask 027 gives owner
	all permission, group read permission and anybody else no access. Note
	that for files mode is anded with 0666. If you want files to have 'x'
	rights, you must use extended attributes.
case=lower,asis (default asis)
	File name lowercasing in readdir.
conv=binary,text,auto (default binary)
	CR/LF -> LF conversion, if auto, decision is made according to extension
	- there is a list of text extensions (I thing it's better to not convert
	text file than to damage binary file). If you want to change that list,
	change it in the source. Original readonly HPFS contained some strange
	heuristic algorithm that I removed. I thing it's danger to let the
	computer decide whether file is text or binary. For example, DJGPP
	binaries contain small text message at the beginning and they could be
	misidentified and damaged under some circumstances.
check=none,normal,strict (default normal)
	Check level. Selecting none will cause only little speedup and big
	danger. I tried to write it so that it won't crash if check=normal on
	corrupted filesystems. check=strict means many superfluous checks -
	used for debugging (for example it checks if file is allocated in
	bitmaps when accessing it).
errors=continue,remount-ro,panic (default remount-ro)
	Behaviour when filesystem errors found.
chkdsk=no,errors,always (default errors)
	When to mark filesystem dirty so that OS/2 checks it.
eas=no,ro,rw (default rw)
	What to do with extended attributes. 'no' - ignore them and use always
	values specified in uid/gid/mode options. 'ro' - read extended
	attributes but do not create them. 'rw' - create extended attributes
	when you use chmod/chown/chgrp/mknod/ln -s on the filesystem.
timeshift=(-)nnn (default 0)
	Shifts the time by nnn seconds. For example, if you see under linux
	one hour more, than under os/2, use timeshift=-3600.


File names
==========

As in OS/2, filenames are case insensitive. However, shell thinks that names
are case sensitive, so for example when you create a file FOO, you can use
'cat FOO', 'cat Foo', 'cat foo' or 'cat F*' but not 'cat f*'. Note, that you
also won't be able to compile linux kernel (and maybe other things) on HPFS
because kernel creates different files with names like bootsect.S and
bootsect.s. When searching for file whose name has characters >= 128, codepages
are used - see below.
OS/2 ignores dots and spaces at the end of file name, so this driver does as

Annotation

Implementation Notes