From: Maxim Patlasov <mpatlasov@parallels.com>
To: John Muir <john@jmuir.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
fuse-devel <fuse-devel@lists.sourceforge.net>,
Linux List <linux-kernel@vger.kernel.org>
Subject: Re: [fuse-devel] [PATCH 0/5] fuse: close file synchronously (v2)
Date: Mon, 9 Jun 2014 14:46:07 +0400 [thread overview]
Message-ID: <5395906F.3070903@parallels.com> (raw)
In-Reply-To: <C6F7C8BC-7F62-45D9-AE9D-52CF096ACBC2@jmuir.com>
On 06/09/2014 01:26 PM, John Muir wrote:
> On 2014.06.09, at 9:50 , Maxim Patlasov <mpatlasov@parallels.com> wrote:
>
>> On 06/06/2014 05:51 PM, John Muir wrote:
>>> On 2014.06.06, at 15:27 , Maxim Patlasov <mpatlasov@parallels.com> wrote:
>>>
>>>> The patch-set resolves the problem by making fuse_release synchronous:
>>>> wait for ACK from userspace for FUSE_RELEASE if the feature is ON.
>>> Why not make this feature per-file with a new flag bit in struct fuse_file_info rather than as a file-system global?
>> I don't expect a great demand for such a granularity. File-system global "close_wait" conveys a general user expectation about filesystem behaviour in distributed environment: if you stopped using a file on given node, whether it means that the file is immediately accessible from another node.
>>
> By user do you mean the end-user, or the implementor of the file-system? It seems to me that the end-user doesn't care, and just wants the file-system to work as expected. I don't think we're really talking about the end-user.
No, this is exactly about end-user expectations. Imagine a complicated
heavy-loaded shared storage where handling FUSE_RELEASE in userspace may
take a few minutes. In close_wait=0 case, an end-user who has just
called close(2) has no idea when it's safe to access the file from
another node or even when it's OK to umount filesystem.
>
> The implementor of a file-system, on the other hand, might want the semantics for close_wait on some files, but not on others. Won't there be a performance impact? Some distributed file-systems might want this on specific files only. Implementing it as a flag on the struct fuse_file_info gives the flexibility to the file-system implementor.
fuse_file_info is an userspace structure, in-kernel fuse knows nothing
about it. In close_wait=1 case, nothing prevents a file-system
implementation from ACK-ing FUSE_RELEASE request immediately (for
specific files) and schedule actual handling for future processing.
Thanks,
Maxim
next prev parent reply other threads:[~2014-06-09 10:46 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-06 13:27 [PATCH 0/5] fuse: close file synchronously (v2) Maxim Patlasov
2014-06-06 13:27 ` [PATCH 1/5] fuse: add close_wait flag to fuse_conn Maxim Patlasov
2014-06-06 13:28 ` [PATCH 2/5] fuse: cosmetic rework of fuse_send_readpages Maxim Patlasov
2014-06-06 13:29 ` [PATCH 3/5] fuse: wait for end of IO on release Maxim Patlasov
2014-06-06 13:30 ` [PATCH 4/5] fuse: enable close_wait feature Maxim Patlasov
2014-06-06 13:31 ` [PATCH 5/5] fuse: fix synchronous case of fuse_file_put() Maxim Patlasov
2014-06-06 13:51 ` [fuse-devel] [PATCH 0/5] fuse: close file synchronously (v2) John Muir
2014-06-09 7:50 ` Maxim Patlasov
2014-06-09 9:26 ` John Muir
2014-06-09 10:46 ` Maxim Patlasov [this message]
2014-06-09 11:11 ` John Muir
2014-06-09 12:00 ` Maxim Patlasov
2014-08-13 12:44 ` Miklos Szeredi
2014-08-14 12:14 ` Maxim Patlasov
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=5395906F.3070903@parallels.com \
--to=mpatlasov@parallels.com \
--cc=fuse-devel@lists.sourceforge.net \
--cc=john@jmuir.com \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.