diff -rup linux-2.6.5.kgdb/fs/reiserfs/resize.c linux-2.6.5.kgdb.afs/fs/reiserfs/resize.c --- linux-2.6.5.kgdb/fs/reiserfs/resize.c 2004-04-03 22:36:55.000000000 -0500 +++ linux-2.6.5.kgdb.afs/fs/reiserfs/resize.c 2004-04-19 10:28:53.692014416 -0400 @@ -33,6 +33,11 @@ int reiserfs_resize (struct super_block int i; int copy_size ; + if (s->s_flags & MS_RDONLY) { + reiserfs_warning (s, "Can't resize read-only filesystem."); + return -EINVAL; + } + sb = SB_DISK_SUPER_BLOCK(s); if (SB_BLOCK_COUNT(s) >= block_count_new) { diff -rup linux-2.6.5.kgdb/fs/reiserfs/super.c linux-2.6.5.kgdb.afs/fs/reiserfs/super.c --- linux-2.6.5.kgdb/fs/reiserfs/super.c 2004-04-17 13:32:13.000000000 -0400 +++ linux-2.6.5.kgdb.afs/fs/reiserfs/super.c 2004-04-19 10:30:02.897493584 -0400 @@ -890,12 +890,6 @@ static int reiserfs_remount (struct supe SB_JOURNAL_MAX_TRANS_AGE(s) = commit_max_age; } - if(blocks) { - int rc = reiserfs_resize(s, blocks); - if (rc != 0) - return rc; - } - if (*mount_flags & MS_RDONLY) { reiserfs_xattr_init (s, *mount_flags); /* remount read-only */ @@ -944,6 +938,12 @@ static int reiserfs_remount (struct supe reiserfs_xattr_init (s, *mount_flags); } + if(blocks) { + int rc = reiserfs_resize(s, blocks); + if (rc != 0) + return rc; + } + return 0; }