From: Avi Kivity <avi@redhat.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org,
virtualization@lists.linux-foundation.org
Subject: [Qemu-devel] Re: [PATCH v2] virtio-blk physical block size
Date: Mon, 04 Jan 2010 09:02:57 +0200 [thread overview]
Message-ID: <4B4192A1.3030801@redhat.com> (raw)
In-Reply-To: <201001041338.52621.rusty@rustcorp.com.au>
On 01/04/2010 05:08 AM, Rusty Russell wrote:
> On Tue, 29 Dec 2009 03:09:23 am Avi Kivity wrote:
>
>> This patch adds a physical block size attribute to virtio disks,
>> corresponding to /sys/devices/.../physical_block_size. It is defined as
>> the request alignment which will not trigger RMW cycles. This can be
>> important for modern disks which use 4K physical sectors (though they
>> still support 512 logical sectors), and for file-backed disk images (which
>> have both the underlying filesystem block size and their own allocation
>> granularity to consider).
>>
>> Installers use this to align partitions to physical block boundaries.
>>
>> Note the spec already defined blk_size as the performance rather than
>> minimum alignment. However the driver interpreted this as the logical
>> block size, so I updated the spec to match the driver assuming the driver
>> predates the spec and that this is an error.
>>
> I thought this was what I was doing, but I have shown over and over that
> I have no idea about block devices.
>
> Our current driver treats BLK_SIZE as the logical and physical size (see
> blk_queue_logical_block_size).
>
But we want them to be different.
> I have no idea what "logical" vs. "physical" actually means. Anyone? Most
> importantly, is it some Linux-internal difference or a real I/O-visible
> distinction?
>
Yes.
Logical block size is the minimum block size the hardware will allow.
Try to write less than that, and the hardware will laugh in your face.
Physical block size is the what the logical block size would have been
is software didn't suck. In theory they should be the same, but since
compatibility reaons clamp the logical block size to 512, they have to
differ. A disk may have a physical block size of 4096 and emulate
logical block size of 512 on top of that using read-modify-write.
Or so I understand it.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
next prev parent reply other threads:[~2010-01-04 7:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1262018363-15871-1-git-send-email-avi@redhat.com>
2010-01-04 3:08 ` [Qemu-devel] Re: [PATCH v2] virtio-blk physical block size Rusty Russell
2010-01-04 7:02 ` Avi Kivity [this message]
2010-01-05 20:18 ` Jamie Lokier
2010-01-04 8:30 ` Christoph Hellwig
2010-01-05 12:56 ` Rusty Russell
2010-01-05 12:58 ` Avi Kivity
2010-01-05 20:16 ` Jamie Lokier
2010-01-08 15:40 ` Christoph Hellwig
2010-01-10 12:35 ` Avi Kivity
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=4B4192A1.3030801@redhat.com \
--to=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=rusty@rustcorp.com.au \
--cc=virtualization@lists.linux-foundation.org \
/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).