Message ID | 20240902225511.757831-9-andrealmeid@igalia.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | tmpfs: Add case-insesitive support for tmpfs | expand |
André Almeida <andrealmeid@igalia.com> writes: > Document mounting options for casefold support in tmpfs. > > Signed-off-by: André Almeida <andrealmeid@igalia.com> > --- > Documentation/filesystems/tmpfs.rst | 37 +++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > > diff --git a/Documentation/filesystems/tmpfs.rst b/Documentation/filesystems/tmpfs.rst > index 56a26c843dbe..ce24fb16979a 100644 > --- a/Documentation/filesystems/tmpfs.rst > +++ b/Documentation/filesystems/tmpfs.rst > @@ -241,6 +241,41 @@ So 'mount -t tmpfs -o size=10G,nr_inodes=10k,mode=700 tmpfs /mytmpfs' > will give you tmpfs instance on /mytmpfs which can allocate 10GB > RAM/SWAP in 10240 inodes and it is only accessible by root. > > +tmpfs has the following mounting options for case-insesitive lookups support: insensitive > + > +================= ============================================================== > +casefold Enable casefold support at this mount point using the given > + argument as the encoding standard. Currently only utf8 > + encodings are supported. > +strict_encoding Enable strict encoding at this mount point (disabled by > + default). This means that invalid sequences will be rejected Invalid sequences is not clear. Perhaps: In this mode, the filesystem refuses to create file and directory with names containing invalid UTF-8 characters. > + by the file system. > +================= ============================================================== > + > +Note that this option doesn't enable casefold by default; one needs to set > +casefold flag per directory, setting the +F attribute in an empty directory. New > +directories within a casefolded one will inherit the flag. > + > +Example:: > + > + $ mount -t tmpfs -o casefold=utf8-12.1.0,cf_strict fs_name /mytmpfs cf_strict should be strict_encoding. I keep wondering if we should accept 'casefold' without any argument to just mean the latest encoding version available. Sure, that is a problem for filesystems that can be moved between systems, but for tmpfs that is not a problem. It is cumbersome to specify the version and most will just want the latest. > + $ cd /mytmpfs # case-sensitive by default > + $ touch a; touch A > + $ ls > + A a > + $ mkdir B > + $ cd b > + cd: The directory 'b' does not exist > + $ mkdir casefold_dir > + $ chattr +F casefold_dir/ # marking it as case-insensitive > + $ cd > + $ touch dir/a; touch dir/A > + $ ls dir > + a > + $ mkdir B > + $ cd b > + $ pwd > + /home/user/mytmpfs/casefold_dir/B I don't think we need this example, since it is just generic how case-insensitiveness work. > > :Author: > Christoph Rohland <cr@sap.com>, 1.12.01 > @@ -250,3 +285,5 @@ RAM/SWAP in 10240 inodes and it is only accessible by root. > KOSAKI Motohiro, 16 Mar 2010 > :Updated: > Chris Down, 13 July 2020 > +:Updated: > + André Almeida, 23 Aug 2024
diff --git a/Documentation/filesystems/tmpfs.rst b/Documentation/filesystems/tmpfs.rst index 56a26c843dbe..ce24fb16979a 100644 --- a/Documentation/filesystems/tmpfs.rst +++ b/Documentation/filesystems/tmpfs.rst @@ -241,6 +241,41 @@ So 'mount -t tmpfs -o size=10G,nr_inodes=10k,mode=700 tmpfs /mytmpfs' will give you tmpfs instance on /mytmpfs which can allocate 10GB RAM/SWAP in 10240 inodes and it is only accessible by root. +tmpfs has the following mounting options for case-insesitive lookups support: + +================= ============================================================== +casefold Enable casefold support at this mount point using the given + argument as the encoding standard. Currently only utf8 + encodings are supported. +strict_encoding Enable strict encoding at this mount point (disabled by + default). This means that invalid sequences will be rejected + by the file system. +================= ============================================================== + +Note that this option doesn't enable casefold by default; one needs to set +casefold flag per directory, setting the +F attribute in an empty directory. New +directories within a casefolded one will inherit the flag. + +Example:: + + $ mount -t tmpfs -o casefold=utf8-12.1.0,cf_strict fs_name /mytmpfs + $ cd /mytmpfs # case-sensitive by default + $ touch a; touch A + $ ls + A a + $ mkdir B + $ cd b + cd: The directory 'b' does not exist + $ mkdir casefold_dir + $ chattr +F casefold_dir/ # marking it as case-insensitive + $ cd + $ touch dir/a; touch dir/A + $ ls dir + a + $ mkdir B + $ cd b + $ pwd + /home/user/mytmpfs/casefold_dir/B :Author: Christoph Rohland <cr@sap.com>, 1.12.01 @@ -250,3 +285,5 @@ RAM/SWAP in 10240 inodes and it is only accessible by root. KOSAKI Motohiro, 16 Mar 2010 :Updated: Chris Down, 13 July 2020 +:Updated: + André Almeida, 23 Aug 2024
Document mounting options for casefold support in tmpfs. Signed-off-by: André Almeida <andrealmeid@igalia.com> --- Documentation/filesystems/tmpfs.rst | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+)