posixovl(1)
posixovl(1) β The POSIX Overlay Filesystem π
okay bestie, welcome to the posixovl(1) manual β the one where a lower filesystem gets main character energy and cosplays as fully POSIX-capable. β¨
π NAME π
posixovl β The POSIX Overlay Filesystem. That's the name, and it's giving "I can fix him" for filesystems. π
β¨ SYNTAX β¨
mount.posixovl [-FH] [-S source_dir] target_dir [-- fuse_opts]
No invented flags here, periodt.
π¦ DESCRIPTION π¦
posixovl provides a filesystem view that supports various POSIX operations while using an otherwise incapable lower filesystem. Filesystems with all kinds of POSIXness can be utilitzed. VFAT is a common denominator when it comes to cross-compatibility, though NTFS β its features are unused in Linux β would be another possibility. Native POSIX-capable filesystems can be used too, though that seems like an unusual application of posixovl.
π OPTIONS π
If no source directory is given with an -S option, the target directory specifies both source and target (mountpoint), yielding an "overmount", whereby the contents of the lower filesystem may become inaccessible while the mount is active (which may be a good thing, depending on your viewpoint). π
-Fβ Disable permission and ownership checks on the lower filesystem. Normally these would be used to check for POSIX filesystems mounted inside a non-POSIX tree. (For example, where/vfatis vfat, and/vfat/xfsis a POSIX-behaving filesystem.) π«Ά-Hβ When this option is enabled and a hardlink in theposixovlnamespace is created, the contents of the file will be replicated in the lower filesystem rather than using zero-sized placeholder files. Note that the replicas will not be updated later on when editing the inode throughposixovl. π-Ssource_dir β This option may be used to specify an alternate path for the lower directory. π
π SUPPORTED OPERATIONS π
posixovl will emulate the following calls if the lower filesystem is incapable of supporting these operations:
chmodchown- hard links
mkfifomknod- symbolic links
The following currently only work in passthrough mode (when using a lower filesystem that already supports these):
- Linux ACLs/xattrs
Missing suppot:
- Case-sensitivity
πΈ NOTES πΈ
Using posixovl on an already POSIX-behaving filesystem (e.g. XFS) incurs some issues, since detecting whether a path is POSIX behaving or not is difficult. Hence, the following decision was made:
- permissions will be set to the default permissions (see below) unless a HCB (hidden control block, the metadata files for
posixovl) is found that can override these - all lower-level files will be operated on/created with the user who inititated the mount
If no HCB exists for a file or directory, the default permissions are rw-r--r-- or rwxr-xr-x, respectively. The owner and group of the inode will be the owner/group of the real file.
Each non-regular, non-directory virtual file will have a zero-size real file. (Simplifies handling, and makes it apprarent the object exists when using other operating systems.)
df will show:
$ df -Tah
Filesystem Type Size Used Avail Use% Mounted on
/dev/hda5 vfat 5.9G 2.1G 3.9G 35% /windows/D
posix-overlay(/windows/D)
fuse.posixovl 5.9G 2.1G 3.9G 35% /windows/D
In general, posixovl does not handle case-insensitivity of the underlying filesystem (in case of vfat, for example). If you create a file "X0" on vfat, it is usually lowercased to "x0", which may break some software, namely X.org. In order to make vfat behave more POSIX-like, the following mount options are recommended:
$ mount -t vfat /dev/hda1 /windows/D -o check=s,shortname=mixed
π¦ Lowkey important vibe check: that vfat lowercase situation is real, bestie βX0becomingx0can absolutely wreck X.org's whole day. π
π AUTHORS π
posixovl and this manpage were written by Jan Engelhardt. π
Development of posixovl was sponsored by Slax (http://www.slax.org/). π
π That's the posixovl(1) page β source/version: posixovl, date: 2010-12-07. Mwah, bestie! π«Ά
π¦ where this page comes from
- opensuse-leap 16.0: posixovl 1.4-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: posixovl 1.4-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: posixovl 1.4-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: posixovl 1.4-bp160.1.12 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms