From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Andreas Dilger <adilger@sun.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
linux-scsi@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 0 of 3] [RFC] I/O Hints
Date: Thu, 05 Jun 2008 21:03:09 -0400 [thread overview]
Message-ID: <yq1od6fml2q.fsf@sermon.lab.mkp.net> (raw)
In-Reply-To: <20080605062754.GQ2961@webber.adilger.int> (Andreas Dilger's message of "Thu\, 05 Jun 2008 00\:27\:54 -0600")
>>>>> "Andreas" == Andreas Dilger <adilger@sun.com> writes:
Andreas> Having an ioctl() that can be called on the block device
Andreas> (getting the right device regardless of its name) seems a lot
Andreas> more useful to applications in my experience, unless you are
Andreas> using a script.
The reason I didn't do it that way is that I only exported the bare
bones required for userland to deal with the layout intelligently.
The problem of the ioctl is that you lose information about the
subdevices and in particular about their physical alignment. The
phys_off value I export for the MD device is the offset for the first
device. But that does not imply that the other devices in the stripe
have the same alignment.
I considered taking an approach similar to blk_queue_stack_limits()
where you clamp using the existing values as you add more devices.
The downside to that is that you really want to let the user know that
there's a potential problem. And requiring the user to scrounge
through syslog to look for complaints isn't so happening. I'd much
rather do that in libdisk where it's easy to print a message about
"Suboptimal layout, proceed with caution".
IOW, the idea is (for better and for worse) to let libdisk traverse
sysfs to ensure that all things line up nicely before mkfs actually
starts writing.
--
Martin K. Petersen Oracle Linux Engineering
next prev parent reply other threads:[~2008-06-06 1:03 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-05 5:22 [PATCH 0 of 3] [RFC] I/O Hints Martin K. Petersen
2008-06-05 5:22 ` [PATCH 1 of 3] block: Export I/O hints for block devices and partitions Martin K. Petersen
2008-06-05 14:42 ` James Bottomley
2008-06-06 1:18 ` Martin K. Petersen
2008-06-06 14:21 ` Jamie Lokier
2008-06-05 5:22 ` [PATCH 2 of 3] md: Export preferred I/O sizes and physical alignment Martin K. Petersen
2008-06-05 5:22 ` [PATCH 3 of 3] sd: Export preferred I/O sizes Martin K. Petersen
2008-06-05 11:25 ` Boaz Harrosh
2008-06-05 6:27 ` [PATCH 0 of 3] [RFC] I/O Hints Andreas Dilger
2008-06-05 10:32 ` Jamie Lokier
2008-06-05 12:35 ` Matthew Wilcox
2008-06-05 17:02 ` Dan Williams
2008-06-06 1:03 ` Martin K. Petersen [this message]
2008-06-06 14:02 ` Jamie Lokier
2008-06-06 16:48 ` Martin K. Petersen
2008-06-09 10:47 ` Jamie Lokier
2008-06-10 2:17 ` Martin K. Petersen
2008-06-05 10:40 ` Jamie Lokier
2008-06-05 19:19 ` Andreas Dilger
2008-06-06 12:55 ` Jamie Lokier
2008-06-06 1:16 ` Martin K. Petersen
2008-06-06 4:51 ` Dave Chinner
2008-06-06 16:53 ` Martin K. Petersen
2008-06-07 20:54 ` Dave Chinner
2008-06-09 15:05 ` Martin K. Petersen
2008-06-06 12:52 ` Jamie Lokier
2008-06-06 14:26 ` Jamie Lokier
2008-06-06 16:56 ` 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=yq1od6fml2q.fsf@sermon.lab.mkp.net \
--to=martin.petersen@oracle.com \
--cc=adilger@sun.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.