mirror of https://github.com/vitalif/e2fsprogs
mke2fs: don't set stripe/stride to 1 block
Block devices may set minimum or optimal IO hints equal to blocksize; in this case there is really nothing for ext4 to do with this information (i.e. search for a block-aligned allocation?) so don't set fs geometry with single-block values. Zeev also reported that with a block-sized stripe, the ext4 allocator spends time spinning in ext4_mb_scan_aligned(), oddly enough. Reported-by: Zeev Tarantov <zeev.tarantov@gmail.com> Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>bitmap-optimize
parent
1760d167b2
commit
d568782ade
|
@ -1184,8 +1184,11 @@ static int get_device_geometry(const char *file,
|
|||
if ((opt_io == 0) && (psector_size > blocksize))
|
||||
opt_io = psector_size;
|
||||
|
||||
fs_param->s_raid_stride = min_io / blocksize;
|
||||
fs_param->s_raid_stripe_width = opt_io / blocksize;
|
||||
/* setting stripe/stride to blocksize is pointless */
|
||||
if (min_io > blocksize)
|
||||
fs_param->s_raid_stride = min_io / blocksize;
|
||||
if (opt_io > blocksize)
|
||||
fs_param->s_raid_stripe_width = opt_io / blocksize;
|
||||
|
||||
rc = blkid_topology_get_alignment_offset(tp);
|
||||
out:
|
||||
|
|
Loading…
Reference in New Issue