From: "Indan Zupancic" <indan@nul.nu>
To: "Jonathan Nieder" <jrnieder@gmail.com>
Cc: "Arnd Bergmann" <arnd@arndb.de>, "Sage Weil" <sage@newdream.net>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
"Aneesh Kumar K. V" <aneesh.kumar@linux.vnet.ibm.com>,
akpm@linux-foundation.org, linux-api@vger.kernel.org,
mtk.manpages@gmail.com, viro@zeniv.linux.org.uk, hch@lst.de,
l@jasper.es
Subject: Re: [PATCH v3] introduce sys_syncfs to sync a single file system
Date: Sat, 12 Mar 2011 05:22:38 +0100 (CET) [thread overview]
Message-ID: <e2b2f91fe62188975f8ddc82e581995e.squirrel@webmail.greenhost.nl> (raw)
In-Reply-To: <20110312021001.GA16833@elie>
On Sat, March 12, 2011 03:10, Jonathan Nieder wrote:
> Indan Zupancic wrote:
>> I'm not pushing for any official convention, just what seems good taste.
>
> In cases like this, conventions (consistency and best practices) are
> very important.
I'm in no position to decide about this code's fate anyway, I only voice
my opinion in the hope people won't make the mistake of adding this as a
new system call.
>
>> Less code added, less bloat. Architecture independent, no need to update
>> all system call tables everywhere (all archs, libc versions and strace).
>> Two files changed, instead of 7 (which only hooks up x86).
>
> Thanks for explaining. Those do seem like good reasons to use a ioctl
> instead of a new syscall.
Ioctl or sync_file_range, it's obscure enough for an ioctl I guess.
>> In this case it's just a performance improvement over sync(2). It doesn't
>> add a new feature. Main argument given for the performance problem seems
>> to be "NFS can be slow". Anything else?
>
> Huh? It is not just the speed of the sync --- unnecessary writeback
> will cause wear on your thumbdrive, eat up your laptop battery, and
> kill I/O performance in other tasks running at the same time.
The writeback will happen sooner or later, so there is no unnecessary
writeback, except if you're overwriting/deleting just written data. If
you're worried about unnecessary writeback then don't do any synching.
You're actually arguing againt this feature and for fsync().
Syncfs won't be called frequently anyway, if it was then fsync could
be used instead. So it's pretty much a slightly better version of sync.
You could call it sync2() and add a path parameter. And after a few
years replace it with sync3 with a flag argument added. Then add a
sync4 with a sigmask too. That seems the new convention and would be
consistent...
I think all new system calls (or other highly visible ABI change) should
have half a year thinking time, and when they're in they're guaranteed to
be not stable for at least 2 years. If after that time they're still in,
they become stable and part of the official ABI. Removing something new
should be as easy as adding something new. But the current trend of easily
added, but hard to remove features is asking for long-term messiness. It
takes time for code to depend on a new feature, so removing bad new stuff
isn't as bad as removing oldstuff. Pity Linus didn't figure that out yet.
> I'm afraid I don't understand what you're saying here at all. Would
> you say that fsync is superfluous, too?
No, fsync actually makes sense.
Greetings,
Indan
next prev parent reply other threads:[~2011-03-12 4:22 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-03 6:35 [RFC] introduce sys_syncat " Sage Weil
2011-03-03 7:22 ` Jonathan Nieder
2011-03-03 8:54 ` Aneesh Kumar K. V
2011-03-07 23:17 ` [RFC] introduce sys_syncfs to sync a single file system (v2) Sage Weil
2011-03-08 5:27 ` Aneesh Kumar K. V
2011-03-10 14:56 ` Arnd Bergmann
2011-03-10 19:28 ` Sage Weil
2011-03-10 19:31 ` [PATCH v3] introduce sys_syncfs to sync a single file system Sage Weil
2011-03-10 22:08 ` Arnd Bergmann
2011-03-11 4:44 ` Aneesh Kumar K. V
2011-03-11 11:01 ` Indan Zupancic
2011-03-11 11:55 ` Arnd Bergmann
2011-03-11 23:45 ` Indan Zupancic
2011-03-11 23:56 ` Jonathan Nieder
2011-03-12 1:53 ` Indan Zupancic
2011-03-12 2:10 ` Jonathan Nieder
2011-03-12 4:22 ` Indan Zupancic [this message]
2011-03-12 17:32 ` Greg KH
2011-03-14 1:56 ` Indan Zupancic
2011-03-14 4:29 ` Sage Weil
2011-03-14 9:27 ` Indan Zupancic
2011-03-14 10:22 ` Theodore Tso
2011-03-15 10:11 ` Dave Chinner
2011-03-15 13:00 ` Sage Weil
2011-03-15 15:56 ` Andreas Dilger
2011-03-15 16:08 ` Sage Weil
2011-03-15 20:18 ` Andrew Morton
2011-03-14 20:10 ` Andrew Morton
2011-03-14 20:29 ` Artem Bityutskiy
2011-03-14 21:11 ` Ted Ts'o
2011-03-14 21:20 ` Andrew Morton
2011-03-14 23:17 ` Ted Ts'o
2011-03-14 21:22 ` Arnd Bergmann
2011-03-12 0:40 ` Ric Wheeler
2011-03-12 1:33 ` Indan Zupancic
2011-03-12 2:52 ` Ric Wheeler
2011-03-12 3:50 ` Indan Zupancic
2011-03-12 12:41 ` Ric Wheeler
2011-03-12 18:31 ` Jeff Garzik
2011-03-14 1:31 ` Indan Zupancic
2011-03-14 1:37 ` Theodore Tso
2011-03-14 1:47 ` Indan Zupancic
2011-03-14 1:45 ` Jeff Garzik
2011-03-14 1:59 ` Indan Zupancic
2011-03-12 19:28 ` Artem Bityutskiy
2011-03-12 19:22 ` Artem Bityutskiy
2011-03-14 1:38 ` Indan Zupancic
2011-03-14 5:52 ` Artem Bityutskiy
2011-03-13 20:59 ` Christoph Hellwig
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=e2b2f91fe62188975f8ddc82e581995e.squirrel@webmail.greenhost.nl \
--to=indan@nul.nu \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=arnd@arndb.de \
--cc=hch@lst.de \
--cc=jrnieder@gmail.com \
--cc=l@jasper.es \
--cc=linux-api@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
--cc=sage@newdream.net \
--cc=viro@zeniv.linux.org.uk \
/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
Powered by JetHome