From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: "Ted Ts'o" <tytso@mit.edu>
Cc: Mike Snitzer <snitzer@redhat.com>,
Eric Sandeen <sandeen@redhat.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Jens Axboe <jaxboe@fusionio.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: Fri, 01 Oct 2010 18:19:21 -0400 [thread overview]
Message-ID: <yq1y6ah4kuu.fsf@sermon.lab.mkp.net> (raw)
In-Reply-To: <20101001142441.GF21129@thunk.org> (Ted Ts'o's message of "Fri, 1 Oct 2010 10:24:41 -0400")
>>>>> "Ted" == Ted Ts'o <tytso@mit.edu> writes:
Ted> If we scale minimum_io_size up to the physical block size, then
Ted> even though these devices will have 512 or 4k logical block sizes,
Ted> minimum_io_size will be 16k? That sounds wrong, incorrect, and
Ted> given that the Linux VM can't handle file system block sizes
Ted> greater than page size. And if we scale the minimum_io_size to the
Ted> physical block size, mke2fs will refuse to create a 4k blocksize
Ted> filesystem --- since presumably "minimum io size" means we can't do
Ted> I/O's smaller than that.
logical <= physical <= minimum
logical is the smallest unit we can address. Usually 512 bytes.
physical is the allocation unit the device claims to use
internally. Typically 512 or 4096. 8 and 16 KiB coming.
minimal is the device's preferred minimum random I/O unit. This
is usually identical to the physical block size. Arrays might
report a multiple of the physical block size here (stripe chunk
size).
optimal (if provided) is the preferred sequential I/O unit and a
multiple of minimal (stripe width).
The logical and physical parameters are device protocol-centric values.
The minimum and optimal I/O sizes are the two "soft" values that
filesystems should be looking at for layout hints.
A filesystem should use minimal as a cue for block size and optimal as a
cue for stripe width. minimum may indeed be bigger than page size and
this discussion was started to figure out if there were thing we could
do to accommodate these device without actually changing the filesystem
block size in the traditional sense.
Since not all drives guarantee that read-modify-write cycle on a 4 KiB
physical block won't clobber adjacent 512-byte logical blocks it may be
a good idea to look at physical block size if there are atomicity
concerns. I.e. filesystems that depend on atomic journal writes may
want to look at the reported physical block size.
--
Martin K. Petersen Oracle Linux Engineering
next prev parent reply other threads:[~2010-10-01 22:19 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1285605664-27027-1-git-send-email-martin.petersen@oracle.com>
[not found] ` <4CA0CC38.5010804@fusionio.com>
[not found] ` <yq1pqvzcddq.fsf@sermon.lab.mkp.net>
[not found] ` <4CA118FF.1080100@fusionio.com>
[not found] ` <yq18w2mddav.fsf@sermon.lab.mkp.net>
2010-09-27 23:15 ` I/O topology fixes for big physical block size Mike Snitzer
2010-09-28 4:30 ` Jens Axboe
2010-09-28 5:20 ` Eric Sandeen
2010-09-28 14:15 ` Mike Snitzer
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
2010-09-30 17:33 ` Mike Snitzer
2010-10-01 14:24 ` Ted Ts'o
2010-10-01 22:19 ` Martin K. Petersen [this message]
2010-10-02 2:31 ` Ted Ts'o
2010-10-02 3:03 ` Daniel Taylor
2010-10-04 19:49 ` Martin K. Petersen
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=yq1y6ah4kuu.fsf@sermon.lab.mkp.net \
--to=martin.petersen@oracle.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=jaxboe@fusionio.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=sandeen@redhat.com \
--cc=snitzer@redhat.com \
--cc=tytso@mit.edu \
/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