diff -rup -X dontdiff linux/fs/reiserfs/super.c linux.patched/fs/reiserfs/super.c
--- linux/fs/reiserfs/super.c   Mon Nov 26 19:55:39 2001
+++ linux.patched/fs/reiserfs/super.c   Mon Nov 26 19:56:47 2001
@@ -500,12 +500,24 @@ static int reiserfs_remount (struct supe
  struct reiserfs_super_block * rs;
  struct reiserfs_transaction_handle th ;
  unsigned long blocks;
-  unsigned long mount_options;
+  unsigned long mount_options = 0;

  rs = SB_DISK_SUPER_BLOCK (s);

  if (!parse_options(data, &mount_options, &blocks))
       return 0;
+
+#define SET_OPT( opt, bits, super )                                    \
+    if( ( bits ) & ( 1 << ( opt ) ) )                                  \
+           ( super ) -> u.reiserfs_sb.s_mount_opt |= ( 1 << ( opt ) )
+
+  /* set options in the super-block bitmask */
+  SET_OPT( NOTAIL, mount_options, s );
+  SET_OPT( REISERFS_NO_BORDER, mount_options, s );
+  SET_OPT( REISERFS_NO_UNHASHED_RELOCATION, mount_options, s );
+  SET_OPT( REISERFS_HASHED_RELOCATION, mount_options, s );
+  SET_OPT( REISERFS_TEST4, mount_options, s );
+#undef SET_OPT

  if(blocks) {
      int rc = reiserfs_resize(s, blocks);