From: "Indan Zupancic" <indan@nul.nu>
To: "Greg KH" <greg@kroah.com>
Cc: "Jonathan Nieder" <jrnieder@gmail.com>,
"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: Mon, 14 Mar 2011 02:56:52 +0100 (CET) [thread overview]
Message-ID: <1e597aedd3d7825dcc0630b1cf2399fa.squirrel@webmail.greenhost.nl> (raw)
In-Reply-To: <20110312173217.GA24981@kroah.com>
On Sat, March 12, 2011 18:32, Greg KH wrote:
> On Fri, Mar 11, 2011 at 08:10:01PM -0600, 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.
>>
>> > 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.
>
> No, make it a syscall, it's more obvious and will be documented much
> better.
There is no such guarantee. Everyone seems to want to add this new syncfs,
but it's not even defined what it does. "Same as sync, but only on one fs"
is IMHO not good enough, because sync's behaviour is pretty badly documented,
and that's a system call. The sync_file_range argument effects are quite
well defined, on the other hand, unlike sync behaviour. You're right for
ioctls though.
If it has to be added, I'm in favour of adding it as a new sync_file_range
flag option, but wouldn't mind if it was added as some obscure ioctl either.
Do you think that widespread sync() usage is something good? Don't you
think sync(2) should be used as little as possible? And if so, why is
it any different than syncfs?
IMHO we're talking about some system call that shouldn't be used often, and
only rarely in very specific cases. They could use sync(2) with exactly the
same effect, but for performance reasons syncfs() is preferred. So instead
of extremely slow it will be very slow in some cases. Hurray, progress!
Next time you want an async version, and have to add a new systemcall with
a flag argument. So instead of going down that path, please add one with
a flag argument immediately. E.g:
syncfs(const char* path, int fd, int flags);
A NULL path, -1 fd and 0 flags is equal to sync (or something), and then
vary the options. But as it's for a file system, wouldn't it make more
sense to have just a path argument instead of an fd one?
Greetings,
Indan
next prev parent reply other threads:[~2011-03-14 1:56 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
2011-03-12 17:32 ` Greg KH
2011-03-14 1:56 ` Indan Zupancic [this message]
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=1e597aedd3d7825dcc0630b1cf2399fa.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=greg@kroah.com \
--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
all inboxes | Powered by JetHome®