On Tue, Sep 28 2010 at 1:20am -0400, Eric Sandeen <sandeen@xxxxxxxxxx> wrote: > Jens Axboe wrote: > > On 2010-09-28 08:15, Mike Snitzer wrote: > >> On Mon, Sep 27 2010 at 6:36pm -0400, > >> Martin K. Petersen <martin.petersen@xxxxxxxxxx> wrote: > >> > >>>>>>>> "Jens" == Jens Axboe <jaxboe@xxxxxxxxxxxx> writes: > >>> Jens> Does mkfs do the right thing? > >>> > >>> Depends on which mkfs it is. Mike has tested things and can chip in > >>> here... > >> I haven't test all mkfs.* but... > >> > >> mkfs.xfs just works with 1M physical_block_size. > >> > >> mkfs.ext4 won't by default but -F "fixes" that: > >> > >> # mkfs.ext4 -b 4096 -F /dev/mapper/20017380023360006 > >> mke2fs 1.41.12 (17-May-2010) > >> Warning: specified blocksize 4096 is less than device physical sectorsize 1048576, forced to continue > > > > OK, so that's not exactly doing the right thing, but at least you can > > work around it with a parameter. So I'd say that is good enough. > > Which part of it is the wrong thing...? > > Today mkfs.ext4 refuses to create an fs blocksize which is smaller than logical > or physical by default, because one is suboptimal and the other is impossible. > -F (force) can override the suboptimal fs blocksize < logical blocksize case... Actually, -F allows one to override fs blocksize < physical_block_size. In this instance we have the following: # cat /sys/block/dm-2/queue/physical_block_size 1048576 # cat /sys/block/dm-2/queue/logical_block_size 512 > Should we change something? Unclear. I could see maybe automatically capping the fs block size at 4096 if physical_block_size is larger and is a multiple of 4096? > >> I'll check fdisk and parted tomorrow (I know lvm2 doesn't look at > >> physical_block_size). Both fdisk and parted look good (partitions are physical_block_size aligned, will warn if you attempt to stray from that alignment). I'll spare you detials of the creation steps... Results of fdisk: ----------------- # fdisk /dev/sdb ... The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted. ... # fdisk -l -u /dev/sdb Disk /dev/sdb: 17.2 GB, 17179869184 bytes 255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 1048576 bytes I/O size (minimum/optimal): 1048576 bytes / 1048576 bytes Disk identifier: 0x0009bf46 Device Boot Start End Blocks Id System /dev/sdb1 2048 16775167 8386560 83 Linux Results of parted: ------------------ Also looks good, doesn't care about physical_block_size. Is more concerned with {minimum,optimal}_io_size. (parted) unit MiB (parted) p Model: XXXXXXXXXXXXX Disk /dev/sdb: 16384MiB Sector size (logical/physical): 512B/1048576B Partition Table: msdos Number Start End Size Type File system Flags 1 1.00MiB 8191MiB 8190MiB primary -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html