All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Ts'o <tytso@mit.edu>
To: Eric Sandeen <sandeen@sandeen.net>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: [RFC] Draft Linux kernel interfaces for ZBC drives
Date: Mon, 3 Feb 2014 17:17:00 -0500	[thread overview]
Message-ID: <20140203221700.GC22856@thunk.org> (raw)
In-Reply-To: <52F00406.3020301@sandeen.net>

On Mon, Feb 03, 2014 at 03:03:02PM -0600, Eric Sandeen wrote:
> 
> Just to flesh out the context for these a bit, what do you envision as the
> consumer of these interfaces?  Things in the block layer?  A DM target?
> Existing filesystems?  A new filesystem?

All of the above.  In addition, I propose to expose this interface via
an ioctl for block devices since there may be userspace applications
that want to be manage the SMR directly from user space.  It would
also be used by ext4 to better align the journal (Project ext4-01 in
the SMR project spreadsheet).

I also want to make the same ioctl exposed for an ext4 file where all
of its blocks cover SMR zones directly --- that is some of the
motivation for the mke2fs mk_hugefile functionality that I've been
working on, since I have specific userspace use case in mind for that,
where we want to get both the management advantages of an file system
but the userspace application might want to treat one or more huge
files as a miniature SMR disk(s).

> I suppose we'll need an interface similar to this at whatever layer has
> to deal with it.  I've got my own opinions on where we might handle
> it (IMHO, retrofitting 3 or 4 major filesystems sounds like more
> than really want to take on), but it'd be nice to know what you're
> thinking here.

Well, even if we have a device mapper shim layer which takes a
restricted mode SMR drive and handles the indirection layer
(i.e. projects Core-05 and Core-06) I think is a good thing, it still
might be a good idea to have the file system's block allocation system
make the block allocations to be more SMR-friendly.  Similarly, we
might use something like the very lazy journal updates (Ext4-02) to
make life easier for the shim layer, as well as using this interface
so we can better make block allocation decisions (Ext4-03).

So my vision for ext4 is not that it would ever be able to be
completely able to use restricted mode SMR drives directly.  I expect
that we would use either run on drives that implement cooperative
(host aware) SMR mode, or on top of a device mapper ship that provided
cooperative mode layered on top of a restricted mode SMR drive.  So I
wouldn't call this a "massive retrofitting" of ext4, but just some
medium-sized changes that would make ext4 more SMR friendly.  Some of
these changes, such as the lazy journal updates, should also improve
performance for HDD and especially for eMMC flash storage.

And it may very well be that not all file systems will want to put in
the work to make them more SMR friendly, and that's fine.  Just as
ext4 hasn't really focused on supporting massive RAID arrays, and
that's OK, because users can always use XFS for that --- similarily,
it may be completely rational for the XFS developers to decide that it
doesn't make sense for them worry about making XFS SMR-aware.

Cheers,

      	    	      	  	    	     - Ted

  reply	other threads:[~2014-02-03 22:17 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-31  5:38 [RFC] Draft Linux kernel interfaces for ZBC drives Theodore Ts'o
2014-01-31 13:07 ` Matthew Wilcox
2014-01-31 15:44   ` Theodore Ts'o
2014-02-03 21:01 ` Jeff Moyer
2014-02-03 21:07   ` Martin K. Petersen
2014-02-03 21:38   ` Theodore Ts'o
2014-02-03 22:26     ` Jeff Moyer
2014-02-03 21:03 ` Eric Sandeen
2014-02-03 22:17   ` Theodore Ts'o [this message]
2014-02-04  2:00 ` HanBin Yoon
2014-02-04 16:27   ` Theodore Ts'o
2014-02-11 18:43 ` [RFC] Draft Linux kernel interfaces for SMR/ZBC drives Theodore Ts'o
2014-02-11 19:04   ` Andreas Dilger
2014-02-11 19:53     ` Theodore Ts'o
2014-02-13  2:08       ` Andreas Dilger
2014-02-13  3:09         ` Theodore Ts'o
2014-02-21 10:02 ` [RFC] Draft Linux kernel interfaces for ZBC drives Rohan Puri
2014-02-21 15:49   ` Theodore Ts'o
2014-02-25  9:36     ` Rohan Puri

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=20140203221700.GC22856@thunk.org \
    --to=tytso@mit.edu \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=sandeen@sandeen.net \
    /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.