All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Jamie Lokier <jamie@shareable.org>
Cc: Nick Piggin <npiggin@suse.de>, linux-fsdevel@vger.kernel.org
Subject: Re: [rfc] fsync_range?
Date: Wed, 21 Jan 2009 09:12:07 -0500	[thread overview]
Message-ID: <20090121141207.GD31253@mit.edu> (raw)
In-Reply-To: <20090121123711.GA10637@shareable.org>

On Wed, Jan 21, 2009 at 12:37:11PM +0000, Jamie Lokier wrote:
> 
> What about btrfs with data checksums?  Doesn't that count among
> data-retrieval metadata?  What about nilfs, which always writes data
> to a new place?  Etc.
> 
> I'm wondering what exactly sync_file_range() definitely writes, and
> what it doesn't write.
> 
> If it's just in use by Oracle, and nobody's sure what it does, that
> smacks of those secret APIs in Windows that made Word run a bit faster
> than everyone else's word processer...  sort of. :-)

Actually, I take that back; Oracle (and most other enterprise
databases; the world is not just Oracle --- there's also DB2, for
example) generally uses Direct I/O, so I wonder if they are using
sync_file_range() at all.

I do wonder though how well or poorly Oracle will work on btrfs, or
indeed any filesystem that uses WAFL-like or log-structutred
filesystem-like algorithms.  Most of the enterprise databases have
been optimized for use on block devices and filesystems where you do
write-in-place acesses; and some enterprise databases do their own
data checksumming.  So if I had to guess, I suspect the answer to the
question I posed is "disastrously".  :-)  After all, such db's
generally are happiest when the OS acts as a program loader than then
gets the heck out of the way of the filesystem, hence their use of
DIO.

Which again brings me back to the question --- I wonder who is
actually using sync_file_range, and what for?  I would assume it is
some database, most likely; so maybe we should check with MySQL or
Postgres?

						- Ted

  reply	other threads:[~2009-01-21 14:12 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-20 16:47 [rfc] fsync_range? Nick Piggin
2009-01-20 18:31 ` Jamie Lokier
2009-01-20 21:25   ` Bryan Henderson
2009-01-20 22:42     ` Jamie Lokier
2009-01-21 19:43       ` Bryan Henderson
2009-01-21 21:08         ` Jamie Lokier
2009-01-21 22:44           ` Bryan Henderson
2009-01-21 23:31             ` Jamie Lokier
2009-01-21  1:36     ` Nick Piggin
2009-01-21 19:58       ` Bryan Henderson
2009-01-21 20:53         ` Jamie Lokier
2009-01-21 22:14           ` Bryan Henderson
2009-01-21 22:30             ` Jamie Lokier
2009-01-22  1:52               ` Bryan Henderson
2009-01-22  3:41                 ` Jamie Lokier
2009-01-21  1:29   ` Nick Piggin
2009-01-21  3:15     ` Jamie Lokier
2009-01-21  3:48       ` Nick Piggin
2009-01-21  5:24         ` Jamie Lokier
2009-01-21  6:16           ` Nick Piggin
2009-01-21 11:18             ` Jamie Lokier
2009-01-21 11:41               ` Nick Piggin
2009-01-21 12:09                 ` Jamie Lokier
2009-01-21  4:16       ` Nick Piggin
2009-01-21  4:59         ` Jamie Lokier
2009-01-21  6:23           ` Nick Piggin
2009-01-21 12:02             ` Jamie Lokier
2009-01-21 12:13             ` Theodore Tso
2009-01-21 12:37               ` Jamie Lokier
2009-01-21 14:12                 ` Theodore Tso [this message]
2009-01-21 14:35                   ` Chris Mason
2009-01-21 15:58                     ` Eric Sandeen
2009-01-21 20:41                     ` Jamie Lokier
2009-01-21 21:23                       ` jim owens
2009-01-21 21:59                         ` Jamie Lokier
2009-01-21 23:08                           ` btrfs O_DIRECT was " jim owens
2009-01-22  0:06                             ` Jamie Lokier
2009-01-22 13:50                               ` jim owens
2009-01-22 21:18                   ` Florian Weimer
2009-01-22 21:23                     ` Florian Weimer
2009-01-21  3:25     ` Jamie Lokier
2009-01-21  3:52       ` Nick Piggin

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=20090121141207.GD31253@mit.edu \
    --to=tytso@mit.edu \
    --cc=jamie@shareable.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=npiggin@suse.de \
    /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.