Messages in this thread | | | Date | Fri, 27 Mar 2009 15:01:40 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: Linux 2.6.29 |
| |
On Fri, 27 Mar 2009, Andreas T.Auer wrote: > > > The fundamental idea here is not all files need to be forced to disk > > on close. Not all files need fsync(), or even fbarrier(). > > An fbarrier() on close() would reflect the thinking of a lot of > developers.
It also happens to be what pretty much all network filesystems end up implementing.
That said, there's a reason many people prefer local filesystems to even high-performance NFS - latency (especially for metadata which even modern versions of NFS cannot cache effectively) just sucks when you have to go over the network. It pretty much doesn't matter _how_ fast your network or server is.
One thing that might make sense is to make "close()" start background writeout for that file (modulo issues like laptop mode) with low priority.
No, it obviously doesn't guarantee any kind of filesystem coherency, but it _does_ mean that the window for the bad cases goes from potentially 30 seconds down to fractions of seconds. That's likely quite a bit of improvement in practice.
IOW, no "hard barriers", but simply more of a "even in the absense of fsync we simply aim for the user to have to be _really_ unlucky to ever hit any bad cases".
Linus
| |