--- linux-2.4.19-pre6.o/fs/reiserfs/super.c Mon Apr 8 14:53:24 2002 +++ linux-2.4.19-pre6/fs/reiserfs/super.c Mon Apr 15 12:34:26 2002 @@ -793,10 +793,10 @@ // hash detection stuff -// if root directory is empty - we set default - Yura's - hash and -// warn about it +// if root directory is empty and no hash hint were supplied - we set +// default - r5 hash - (Rupasov's Hash Number 5) and warn about it. // FIXME: we look for only one name in a directory. If tea and yura -// bith have the same value - we ask user to send report to the +// both have the same value - we ask user to send report to the // mailing list __u32 find_hash_out (struct super_block * s) { @@ -822,12 +822,19 @@ de.de_entry_num --; set_de_name_and_namelen (&de); if (deh_offset( &(de.de_deh[de.de_entry_num]) ) == DOT_DOT_OFFSET) { - /* allow override in this case */ - if (reiserfs_rupasov_hash(s)) { - hash = YURA_HASH ; + if ( reiserfs_hash_detect(s) ) { // Hash hint was supplied + if (reiserfs_rupasov_hash(s)) { + hash = YURA_HASH ; + } else if (reiserfs_tea_hash(s)) { + hash = TEA_HASH ; + } else if (reiserfs_r5_hash(s)) { + hash = R5_HASH ; + } + } + if (!(s->u.reiserfs_sb.s_mount_opt & (1<