+2007-05-18 Theodore Tso <tytso@mit.edu>
+
+ * openfs.c (ext2fs_open2): Set fs->stride from the superblock's
+ s_raid_stride value.
+
+ * ext2_fs.h: Allocate space for RAID stride in the superblock.
+
2007-05-08 Eric Sandeen <sandeen@redhat.com>
* ext2_fs.h (inode_uid, inode_gid): The inode_uid() and
__u16 s_min_extra_isize; /* All inodes have at least # bytes */
__u16 s_want_extra_isize; /* New inodes should reserve # bytes */
__u32 s_flags; /* Miscellaneous flags */
- __u32 s_reserved[167]; /* Padding to the end of the block */
+ __u16 s_raid_stride; /* RAID stride */
+ __u16 s_pad; /* Padding */
+ __u32 s_reserved[166]; /* Padding to the end of the block */
};
/*
dest += fs->blocksize;
}
+ fs->stride = fs->super->s_raid_stride;
+
*ret_fs = fs;
return 0;
cleanup:
2007-05-18 Theodore Tso <tytso@mit.edu>
+ * mke2fs.c (main): Save the raid stride to the superblock
+
* blkid.c (main): Add -g option to blkid which will garbage
collect the cache.
test_disk(fs, &bb_list);
handle_bad_blocks(fs, bb_list);
- fs->stride = fs_stride;
+ fs->stride = fs->super->s_raid_stride = fs_stride;
retval = ext2fs_allocate_tables(fs);
if (retval) {
com_err(program_name, retval,
+2007-05-18 Theodore Tso <tytso@mit.edu>
+
+ * main.c (determine_fs_stride): Use the superblock s_raid_stride
+ if it is set; save the hueristically determined stride to
+ the superblock if it is not set.
+
2007-03-18 Theodore Tso <tytso@mit.edu>
* resize2fs.c (check_and_change_inodes): Check to make sure the
unsigned int has_sb, prev_has_sb, num;
int i_stride, b_stride;
+ if (fs->stride)
+ return;
num = 0; sum = 0;
for (group = 0; group < fs->group_desc_count; group++) {
has_sb = ext2fs_bg_has_super(fs, group);
else
fs->stride = 0;
+ fs->super->s_raid_stride = fs->stride;
+ ext2fs_mark_super_dirty(fs);
+
#if 0
if (fs->stride)
printf("Using RAID stride of %d\n", fs->stride);
_("Invalid stride length"));
exit(1);
}
- fs->stride = use_stride;
+ fs->stride = fs->super->s_raid_stride = use_stride;
+ ext2fs_mark_super_dirty(fs);
} else
determine_fs_stride(fs);