diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-06-06 20:02:54 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-06-06 20:02:54 +0200 |
commit | 44e843eb5cc383fe58fc8ec17dba0ab1dc45db2d (patch) | |
tree | 73276bbe6a9b68ddf96856cbbe702bff2a4d3836 /fs/nfs | |
parent | Merge tag 'linux-kselftest-5.2-rc4' of git://git.kernel.org/pub/scm/linux/ker... (diff) | |
parent | fs/adfs: fix filename fixup handling for "/" and "//" names (diff) | |
download | linux-44e843eb5cc383fe58fc8ec17dba0ab1dc45db2d.tar.xz linux-44e843eb5cc383fe58fc8ec17dba0ab1dc45db2d.zip |
Merge tag 'for-rc-adfs' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ADFS cleanups/fixes from Russell King:
"As a result of some of Al Viro's great work, here are a few cleanups
with fixes for adfs:
- factor out filename comparison, so we can be sure that
adfs_compare() (used for namei compare) and adfs_match() (used for
lookup) have the same behaviour.
- factor out filename lowering (which is not the same as tolower()
which will lower top-bit-set characters) to ensure that we have the
same behaviour when comparing filenames as when we hash them.
- factor out the object fixups, so we are applying all fixups to
directory objects in the same way, independent of the disk format.
- factor out the object name fixup (into the previously factored out
function) to ensure that filenames are appropriately translated -
for example, adfs allows '/' in filenames, which being the Unix
path separator, need to be translated to a different character,
which is normally '.' (DOS 8.3 filenames represent the . as a / on
adfs, so this is the expected reverse translation.)
- remove filename truncation; Al asked about this and apparently the
decision is to remove it. In any case, adfs's truncation was buggy,
so this rids us of that bug by removing the truncation feature.
- we now have only one location which adds the "filetype" suffix to
the filename, so there's no point that code being out of line.
- since we translate '/' into '.', an adfs filename of "/" or "//"
would end up being translated to "." and ".." which have special
meanings. In this case, change the first character to "^" to avoid
these special directory names being abused"
* tag 'for-rc-adfs' of git://git.armlinux.org.uk/~rmk/linux-arm:
fs/adfs: fix filename fixup handling for "/" and "//" names
fs/adfs: move append_filetype_suffix() into adfs_object_fixup()
fs/adfs: remove truncated filename hashing
fs/adfs: factor out filename fixup
fs/adfs: factor out object fixups
fs/adfs: factor out filename case lowering
fs/adfs: factor out filename comparison
Diffstat (limited to 'fs/nfs')
0 files changed, 0 insertions, 0 deletions