lkml.org 
[lkml]   [2014]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 0/5] fuse: handle release synchronously (v4)
From
On Mon, Sep 29, 2014 at 10:33 PM, Anand Avati <avati@gluster.org> wrote:
>
> In general that sounds reasonable. The problem (as described in the original
> thread, at http://sourceforge.net/p/fuse/mailman/message/29889055/)

From a quick look at that thread, the solution is clear: you *must*
flush your write buffers in the "flush" function.

The fact that you must flush write buffers multiple times if people
have done "dup()" is a complete non-issue. Just flush them each time.
There is no "how do I differentiate the first flush and
the second flush?" The answer is that you don't, and that you MUST
NOT. You need to flush on both (or more). Trying to distinguish first
vs second is broken, and would be wrogn *anyway*. There is no possible
situation where it could validaly matter, and you simply cannot tell.

Don't do any data structure cleanups, that's for "release()". But yes,
you do have to flush write buffers at flush time (and return IO errors
if they happen). That's very much the point of flush.

Linus


\
 
 \ /
  Last update: 2014-09-30 21:41    [W:0.750 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site