linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ric Wheeler <ricwheeler-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Indan Zupancic <indan-1J6HnF7K7zE@public.gmane.org>
Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Sage Weil <sage-BnTBU8nroG7k1uMJSBkQmQ@public.gmane.org>,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"Aneesh Kumar K. V"
	<aneesh.kumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	Jonathan Nieder
	<jrnieder-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org,
	hch-jcswGhMUV9g@public.gmane.org, l@jasper.es
Subject: Re: [PATCH v3] introduce sys_syncfs to sync a single file system
Date: Fri, 11 Mar 2011 21:52:13 -0500	[thread overview]
Message-ID: <4D7ADFDD.9080108@gmail.com> (raw)
In-Reply-To: <1d4d1b7ae64da97f44cad0e2bda4f832.squirrel-2RFepEojUI3wYrDfM2ltn5vKXLoBo5SK@public.gmane.org>

On 03/11/2011 08:33 PM, Indan Zupancic wrote:
> On Sat, March 12, 2011 01:40, Ric Wheeler wrote:
>> On 03/11/2011 06:45 PM, Indan Zupancic wrote:
>>> On Fri, March 11, 2011 12:55, Arnd Bergmann wrote:
>>>> On Friday 11 March 2011, Indan Zupancic wrote:
>>>>>>         http://marc.info/?l=linux-fsdevel&amp;m=127970513829285&amp;w=2
>>>>> The patch there seems much more reasonable than introducing a whole
>>>>> new systemcall just for 20 lines of kernel code. New system calls are
>>>>> added too easily nowadays.
>>>> The only problem with adding new system calls is that we are stuck
>>>> with the interface until the end of time, so we must be sure not
>>>> to get it wrong. The same thing is true for any other interface
>>>> such as ioctl or extensions to existing system calls. People usually
>>>> get away with adding new ioctls more easily because it is less
>>>> obvious when they are added.
>>> Agreed.
>>>
>>> I'm not sure this feature is important enough to add. I can't really
>>> think of a regular use case where this would be useful, generally
>>> it's transparent on which mount files are. Add symlinks, and you
>>> give users a lot of rope. Any user has to make sure that all the
>>> files they want to sync are on the same file system.
>>>
>>> About the arguments against sync(2):
>>>
>>>>    - On machines with many mounts, it is not at all uncommon for some of
>>>>      them to hang (e.g. unresponsive NFS server).  sync(2) will get stuck on
>>>>      those and may never get to the one you do care about (e.g., /).
>>> It would be better to fix NFS, or mount it with the fsc option (assuming
>>> a sync will write to the local cache instead of hanging forever then).
>>>
>>>>    - Some applications write lots of data to the file system and then
>>>>      want to make sure it is flushed to disk.  Calling fsync(2) on each
>>>>      file introduces unnecessary ordering constraints that result in a large
>>>>      amount of sub-optimal writeback/flush/commit behavior by the file
>>>>      system.
>>> You can use sync_file_range() on those files to schedule the writes
>>> and then do the fsync(2) as usual (both on files and dirs).
>>>
>>> If there still is a good reason to implement this, please don't add it
>>> as a new system call, but add it to sync_file_range(), as that seems
>>> the best place for odd file synchronisation operations.
>>>
>>> Greetings,
>>>
>>> Indan
>>>
>>>
>>> --
>> Hi Indan,
>>
>> I think that you missed the point of the extension.
>>
>> Ric
> The point is clear, it's to synchronize a specific file system instead
> of all of them.
>
> But actually doing that from a program is harder than it looks, because
> programs work with files, not file systems. To make this feature useful
> the program needs meta information it can't easily get. That was my first
> point.
>
> The rest was just replying to the motivations given to add the feature.
> If those motivations miss the point of the extension, don't blame me.
>
> If you want to add a new one, "I'd like sync /mounpoint to work", then
> do so, but please tell what practical use that has, if you're not going
> to unmount the thing soon after anyway.
>
> Other than this questionable use case, is there any other one that would
> justify adding this extension?
>
> Greetings,
>
> Indan
>

Sage was pretty clear in stating the motivation which is the use case you think 
is questionable. Probably not interesting for consumer devices, but definitely 
extremely interesting in large servers with multiple file systems.

In fact, we do it today as mentioned earlier in the thread - this simply exports 
that useful capability in a clean way.

Ric

  parent reply	other threads:[~2011-03-12  2:52 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-03  6:35 [RFC] introduce sys_syncat to sync a single file system Sage Weil
     [not found] ` <Pine.LNX.4.64.1102171035220.13904-vIokxiIdD2AQNTJnQDzGJqxOck334EZe@public.gmane.org>
2011-03-03  7:22   ` Jonathan Nieder
2011-03-03  8:54     ` Aneesh Kumar K. V
     [not found]       ` <87bp1sziqn.fsf-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2011-03-07 23:17         ` [RFC] introduce sys_syncfs to sync a single file system (v2) Sage Weil
     [not found]           ` <Pine.LNX.4.64.1103071515070.11152-vIokxiIdD2AQNTJnQDzGJqxOck334EZe@public.gmane.org>
2011-03-08  5:27             ` Aneesh Kumar K. V
     [not found]               ` <8762ruchcr.fsf-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2011-03-10 14:56                 ` Arnd Bergmann
     [not found]                   ` <201103101556.44698.arnd-r2nGTMty4D4@public.gmane.org>
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
     [not found]             ` <Pine.LNX.4.64.1103101125150.4190-vIokxiIdD2AQNTJnQDzGJqxOck334EZe@public.gmane.org>
2011-03-11  4:44               ` Aneesh Kumar K. V
2011-03-11 11:01             ` Indan Zupancic
     [not found]               ` <edfa4cf081249734807e582c14253fca.squirrel-2RFepEojUI3wYrDfM2ltn5vKXLoBo5SK@public.gmane.org>
2011-03-11 11:55                 ` Arnd Bergmann
     [not found]                   ` <201103111255.44979.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-11 23:45                     ` Indan Zupancic
2011-03-11 23:56                       ` Jonathan Nieder
2011-03-12  1:53                         ` Indan Zupancic
     [not found]                           ` <9446ab1a2315c0d2476c30f8315a0503.squirrel-2RFepEojUI3wYrDfM2ltn5vKXLoBo5SK@public.gmane.org>
2011-03-12  2:10                             ` Jonathan Nieder
2011-03-12  4:22                               ` Indan Zupancic
2011-03-12 17:32                               ` Greg KH
     [not found]                                 ` <20110312173217.GA24981-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2011-03-14  1:56                                   ` Indan Zupancic
     [not found]                                     ` <1e597aedd3d7825dcc0630b1cf2399fa.squirrel-2RFepEojUI3wYrDfM2ltn5vKXLoBo5SK@public.gmane.org>
2011-03-14  4:29                                       ` Sage Weil
2011-03-14  9:27                                         ` Indan Zupancic
2011-03-14 10:22                                           ` Theodore Tso
     [not found]                                         ` <Pine.LNX.4.64.1103132114380.5145-vIokxiIdD2AQNTJnQDzGJqxOck334EZe@public.gmane.org>
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
     [not found]                                             ` <20110314142032.b9523309.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-03-14 23:17                                               ` Ted Ts'o
2011-03-14 21:22                                           ` Arnd Bergmann
2011-03-12  0:40                       ` Ric Wheeler
     [not found]                         ` <4D7AC0FE.8070806-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-03-12  1:33                           ` Indan Zupancic
     [not found]                             ` <1d4d1b7ae64da97f44cad0e2bda4f832.squirrel-2RFepEojUI3wYrDfM2ltn5vKXLoBo5SK@public.gmane.org>
2011-03-12  2:52                               ` Ric Wheeler [this message]
     [not found]                                 ` <4D7ADFDD.9080108-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-03-12  3:50                                   ` Indan Zupancic
2011-03-12 12:41                                     ` Ric Wheeler
     [not found]                                     ` <e118a1458c29e4f44bf71c7095e4bce8.squirrel-2RFepEojUI3wYrDfM2ltn5vKXLoBo5SK@public.gmane.org>
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
     [not found]                                             ` <4D7D7325.2040708-o2qLIJkoznsdnm+yROfE0A@public.gmane.org>
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
     [not found]                                   ` <3cc2c5c6fa6b3bd384017ae95a4241ab.squirrel-2RFepEojUI3wYrDfM2ltn5vKXLoBo5SK@public.gmane.org>
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=4D7ADFDD.9080108@gmail.com \
    --to=ricwheeler-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=aneesh.kumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=hch-jcswGhMUV9g@public.gmane.org \
    --cc=indan-1J6HnF7K7zE@public.gmane.org \
    --cc=jrnieder-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=l@jasper.es \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=sage-BnTBU8nroG7k1uMJSBkQmQ@public.gmane.org \
    --cc=viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org \
    /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;
as well as URLs for NNTP newsgroup(s).