--- linux-2.5.3-pre4.o/include/linux/reiserfs_fs_sb.h Thu Jan 24 12:21:23 2002
+++ linux-2.5.3-pre4/include/linux/reiserfs_fs_sb.h Thu Jan 24 12:53:45 2002
@@ -347,6 +347,8 @@
/* To be obsoleted soon by per buffer seals.. -Hans */
atomic_t s_generation_counter; // increased by one every time the
// tree gets re-balanced
+ unsigned long s_properties; /* File system properties. Currently holds
+ on-disk FS format */
- if (is_reiserfs_3_5 (rs) || (is_reiserfs_jr (rs) && SB_VERSION (s) == REISERFS_VERSION_1)) {
+ if (old_format_only(s)) {
/* filesystem of format 3.5 either with standard or non-standard
journal */
- if (!old_format_only (s)) {
+ if (convert_reiserfs (s)) {
/* and -o conv is given */
reiserfs_warning ("reiserfs: converting 3.5 filesystem to the 3.6 format\n") ;
- if (is_reiserfs_3_5 (rs))
/* put magic string of 3.6 format. 2.2 will not be able to
mount this filesystem anymore */
memcpy (rs->s_v1.s_magic, reiserfs_3_6_magic_string,
@@ -1069,17 +1074,13 @@
set_sb_version(rs,REISERFS_VERSION_2);
reiserfs_convert_objectid_map_v1(s) ;
+ set_bit(REISERFS_3_6, &(s->u.reiserfs_sb.s_properties));
+ clear_bit(REISERFS_3_5, &(s->u.reiserfs_sb.s_properties));
} else {
reiserfs_warning("reiserfs: using 3.5.x disk format\n") ;
- }
- } else {
- // new format found
- set_bit (REISERFS_CONVERT, &(s->u.reiserfs_sb.s_mount_opt));
+ }
}
- // mark hash in super block: it could be unset. overwrite should be ok
- set_sb_hash_function_code( rs, function2code(s->u.reiserfs_sb.s_hash_function ) );
-
journal_mark_dirty(&th, s, SB_BUFFER_WITH_SB (s));
journal_end(&th, s, 1) ;
@@ -1087,7 +1088,13 @@
finish_unfinished (s);
s->s_dirt = 0;
+ } else {
+ if ( old_format_only(s) ) {
+ reiserfs_warning("reiserfs: using 3.5.x disk format\n") ;
+ }
}
+ // mark hash in super block: it could be unset. overwrite should be ok
+ set_sb_hash_function_code( rs, function2code(s->u.reiserfs_sb.s_hash_function ) );
reiserfs_proc_info_init( s );
reiserfs_proc_register( s, "version", reiserfs_version_in_proc );