From: Mike Snitzer <snitzer@redhat.com>
To: Eric Sandeen <sandeen@redhat.com>
Cc: Jens Axboe <jaxboe@fusionio.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
"James.Bottomley@hansenpartnership.com"
<James.Bottomley@hansenpartnership.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>
Subject: Re: I/O topology fixes for big physical block size
Date: Tue, 28 Sep 2010 10:15:45 -0400 [thread overview]
Message-ID: <20100928141545.GA21587@redhat.com> (raw)
In-Reply-To: <4CA17B13.7080801@redhat.com>
On Tue, Sep 28 2010 at 1:20am -0400,
Eric Sandeen <sandeen@redhat.com> 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@oracle.com> wrote:
> >>
> >>>>>>>> "Jens" == Jens Axboe <jaxboe@fusionio.com> 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
next prev parent reply other threads:[~2010-09-28 14:15 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-27 16:41 I/O topology fixes for big physical block size Martin K. Petersen
2010-09-27 16:41 ` [PATCH 1/2] block: Ensure physical block size is unsigned int Martin K. Petersen
2010-09-27 17:40 ` Mike Snitzer
2010-10-08 5:15 ` Martin K. Petersen
2010-10-13 19:12 ` Mike Snitzer
2010-10-13 19:15 ` Jens Axboe
2010-09-27 16:41 ` [PATCH 2/2] sd: Fix overflow with big physical blocks Martin K. Petersen
2010-09-27 17:42 ` Mike Snitzer
2010-09-27 18:13 ` [PATCH] block: eliminate potential for infinite loop in blkdev_issue_discard Mike Snitzer
2010-10-14 21:37 ` Mike Snitzer
2010-10-15 11:05 ` Jens Axboe
2010-09-27 16:54 ` I/O topology fixes for big physical block size Jens Axboe
2010-09-27 17:20 ` Martin K. Petersen
2010-09-27 22:21 ` Jens Axboe
2010-09-27 22:36 ` Martin K. Petersen
2010-09-27 23:15 ` Mike Snitzer
2010-09-28 4:30 ` Jens Axboe
2010-09-28 5:20 ` Eric Sandeen
2010-09-28 14:15 ` Mike Snitzer [this message]
2010-09-28 20:57 ` Ted Ts'o
2010-09-28 21:24 ` Martin K. Petersen
2010-09-28 21:36 ` Eric Sandeen
2010-09-30 16:30 ` Ted Ts'o
2010-09-30 17:07 ` Eric Sandeen
[not found] ` <4CA4C3B6.9000104@redhat.com>
2010-09-30 17:33 ` Mike Snitzer
2010-10-01 14:24 ` Ted Ts'o
2010-10-01 22:19 ` Martin K. Petersen
2010-10-02 2:31 ` Ted Ts'o
2010-10-04 19:49 ` Martin K. Petersen
2010-09-27 17:23 ` Mike Snitzer
2010-09-27 21:58 ` James Bottomley
2010-09-27 22:03 ` Jens Axboe
2010-09-27 22:14 ` Martin K. Petersen
2010-09-27 22:24 ` Jens Axboe
2010-09-28 18:48 ` Martin K. Petersen
2010-09-28 18:54 ` Mike Snitzer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100928141545.GA21587@redhat.com \
--to=snitzer@redhat.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=jaxboe@fusionio.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=sandeen@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).