e2fsprogs/debugfs
Theodore Ts'o f77704e416 Add directory hashed signed/unsigned hint to superblock
The e2fsprogs and kernel implementation of directory hash tree has a
bug which causes the implementation to be dependent on whether
characters are signed or unsigned.  Platforms such as the PowerPC,
Arm, and S/390 have signed characters by default, which means that
hash directories on those systems are incompatible with hash
directories on other systems, such as the x86.

To fix this we add a new flags field to the superblock, and define two
new bits in that field to indicate whether or not the directory should
be signed or unsigned.  If the bits are not set, e2fsck and fixed
kernels will set them to the signed/unsigned value of the currently
running platform, and then respect those bits when calculating the
directory hash.  This allows compatibility with current filesystems,
as well as allowing cross-architectural compatibility.

Addresses Debian Bug: #389772

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 22:32:35 -05:00
..
ChangeLog Add directory hashed signed/unsigned hint to superblock 2006-11-11 22:32:35 -05:00
Makefile.in Fix Debian FTBFS problem caused by devmapper library using pthreads 2006-10-01 22:18:08 -04:00
debug_cmds.ct New debugfs command: set_current_time 2005-09-24 21:56:38 -04:00
debugfs.8.in Add an option to debugfs to open filesystems in exclusive mode 2006-03-18 19:58:13 -05:00
debugfs.c On-disk format definition for huge files 2006-11-11 06:32:03 -05:00
debugfs.h Fix various gcc -Wall complaints. 2005-12-10 21:50:30 -05:00
dump.c Fix gcc -Wall nitpicks 2003-12-07 01:28:50 -05:00
htree.c Add directory hashed signed/unsigned hint to superblock 2006-11-11 22:32:35 -05:00
icheck.c Fix debugfs's icheck to correctly report the owner of an EA block 2006-03-08 18:22:06 -05:00
jfs_user.h Move linux/jbd.h to ext2fs/kernel-jbd.h, to avoid using the 2001-12-23 19:33:51 -05:00
logdump.c Fix various gcc -Wall complaints. 2005-12-10 21:50:30 -05:00
ls.c Add handling for invalid option characters in debugfs subcommands 2006-04-27 20:59:42 -04:00
lsdel.c Fix debugfs coredump when lsdel is run without an open filesystem 2006-08-29 17:02:56 -04:00
ncheck.c Fix gcc -Wall nitpicks 2003-12-07 01:28:50 -05:00
set_fields.c Add directory hashed signed/unsigned hint to superblock 2006-11-11 22:32:35 -05:00
unused.c Fix debugfs's dump_unsued commands on filesystems with a 64k blocksize 2006-05-28 23:42:47 -04:00
util.c Add missing backwards compatibility for ancient Linux systems 2006-05-29 11:06:16 -04:00