From: Eric Sandeen <sandeen@sandeen.net>
To: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com>,
Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH RFC] xfs: set block device logical sector size on xfs_buftarg
Date: Wed, 13 Nov 2013 18:35:05 -0600 [thread overview]
Message-ID: <52841AB9.9050906@sandeen.net> (raw)
In-Reply-To: <5283C41D.7070503@redhat.com>
On 11/13/13, 12:25 PM, Eric Sandeen wrote:
> Pure RFC; this might be crazy. Here's the problem I'm trying to solve:
>
> Today, mkfs.xfs will select a 4k sector size for a 4k physical / 512 logical
> drive. (that change was done by me). The thought was that it'd be an
> efficiency gain to not make the drive do the (possible) RMW cycles on
> 512-byte log IO, primarily.
>
> However, now this restricts all DIO to 4k alignment, not the otherwise-
> possible 512.
So, backing up... ;)
XFS isn't doing anything wrong here. It can make sector sizes as it pleases,
and apps had darned well better accommodate its whims if they do direct IO.
But some apps don't. And users are sad and confused, and grow to dislike
XFS, because it all worked just fine on that other filesystem, so screw you
XFS, and your flux capacitor drives with your power-fail interrupts!
So my overarching goal here is to have XFS do its internal IO as efficiently
as possible on an "advanced format" drive, i.e. in 4k chunks, but not to
break apps that don't bother to check whether ye olde 512 DIO will work,
if the underlying storage can actually handle it.
We could even ensure that XFS_IOC_DIOINFO offers up "4k" as the answer
to miniosz, so that apps which bother to ask get the optimal answer.
But if we know, deep in our hearts, that a 512 byte DIO is ok, let's
let it pass.
Hacking up bt_sshift and friends might be the wrong way to do it, although
I'm not so sure - that's really all it's used for (today).
Christoph's suggestion to leave sector size at 512 but set a log stripe seems
interesting, too.
Or, we could stop setting 4k sectors for AF drives.
Or we could just carry on, and keep telling users that it's their fault,
their app's fault, etc...
(I'm sympathetic to pushing the envelope and dragging apps into the 21st
century, but it's s double edged sword).
-Eric
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2013-11-14 0:35 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-13 18:25 [PATCH RFC] xfs: set block device logical sector size on xfs_buftarg Eric Sandeen
2013-11-13 18:56 ` Christoph Hellwig
2013-11-13 19:08 ` Eric Sandeen
2013-11-13 21:26 ` Dave Chinner
2013-11-13 21:32 ` Eric Sandeen
2013-11-13 22:10 ` Dave Chinner
2013-11-13 22:18 ` Eric Sandeen
2013-11-14 0:34 ` Dave Chinner
2013-11-14 13:37 ` Christoph Hellwig
2013-11-14 14:56 ` Eric Sandeen
2013-11-14 21:01 ` Dave Chinner
2013-11-22 14:13 ` Ric Wheeler
2013-11-22 14:20 ` Christoph Hellwig
2013-11-22 14:26 ` Ric Wheeler
2013-11-22 14:57 ` Eric Sandeen
2013-11-14 0:35 ` Eric Sandeen [this message]
2013-11-14 6:49 ` Dave Chinner
2013-11-14 13:09 ` Ric Wheeler
2013-11-14 15:03 ` Eric Sandeen
2013-11-14 15:18 ` Eric Sandeen
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=52841AB9.9050906@sandeen.net \
--to=sandeen@sandeen.net \
--cc=hch@infradead.org \
--cc=sandeen@redhat.com \
--cc=xfs@oss.sgi.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