public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: linux-kernel@vger.kernel.org, fuse-devel@lists.sourceforge.net
Subject: Re: [PATCHSET] CUSE: implement CUSE, take #3
Date: Thu, 30 Apr 2009 11:10:41 +0900	[thread overview]
Message-ID: <49F908A1.70207@kernel.org> (raw)
In-Reply-To: <E1LypSa-0004fR-J1@pomaz-ex.szeredi.hu>

Hello,

Miklos Szeredi wrote:
>>> VFS inode should never be needed by the CUSE codepaths.  Well, maybe
>>> for setting access/modification times, but in any case those need not
>>> be shared with fuse code.
>> One more usage: locking.
> 
> You mean inode->i_mutex locking?  It doesn't look to me as if cuse
> would need to do any of that.

Well, there are a few places in file.c and dir.c IIRC and I think
there's one path which CUSE uses (or used, it might have gone away
with your changes).  I was concerned with the different assumptions
FUSE code paths are under depending on whether the code is used by
CUSE or that, which is not at all obvious from looking at the FUSE
code only, so the large update to put FUSE file handling paths under
the same assumptions which are safe for CUSE.  I think it's too subtle
but it's also true that the paths used by CUSE are quite limited, so
as long as you can keep a close eye on it I guess it would be okay.

>>> I don't see any problems with doing the device initialization in the
>>> context of the replying process (which will usually be the same as
>>> the one opening the device anyway).
>> I don't know.  If it's simple, sure why not.  If it makes things even
>> marginally more complex (state saving and so on), why go that way?
> 
> OK, I folded FUSE_INIT into CUSE_INIT, and moved the CUSE_INIT reply
> processing into the ->end() callback.  This also allows us to remove
> the CUSE_INIT_DONE message, since now the write(2) on the cuse device
> will only return when the device initialization is complete.
> 
> Overall it results in some 100 lines less code (well, some of that is
> because I folded <linux/cuse.h> into <linux/fuse.h>).  But the simpler
> initialization sequence is, I think, definitely worth it.
> 
> The patches are pushed out to the 'cuse' and 'for-next' branches of
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git
>
> I'll post the updated libfuse patch as well.  Please let me know if
> you find anything wrong with the current patches.

Looks good to me.  Much prettier with two inits merged.

Thanks.

-- 
tejun

  reply	other threads:[~2009-04-30  2:11 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-14  1:54 [PATCHSET] CUSE: implement CUSE, take #3 Tejun Heo
2009-04-14  1:54 ` [PATCH 1/6] FUSE: misc cleanups Tejun Heo
2009-04-14  1:54 ` [PATCH 2/6] FUSE: use fuse objects as the main objects in file handling functions Tejun Heo
2009-04-14  1:54 ` [PATCH 3/6] FUSE: make ff->fi optional Tejun Heo
2009-04-14  1:54 ` [PATCH 4/6] FUSE: update fuse_conn_init() and separate out fuse_conn_kill() Tejun Heo
2009-04-14  1:54 ` [PATCH 5/6] FUSE: export symbols to be used by CUSE Tejun Heo
2009-04-14  1:54 ` [PATCH 6/6] CUSE: implement CUSE - Character device in Userspace Tejun Heo
2009-04-21 16:43 ` [PATCHSET] CUSE: implement CUSE, take #3 Tejun Heo
2009-04-22 11:39 ` Miklos Szeredi
2009-04-23  0:09   ` Tejun Heo
2009-04-23 10:08     ` Miklos Szeredi
2009-04-23 10:32       ` Tejun Heo
2009-04-28 15:43         ` Miklos Szeredi
2009-04-30  2:10           ` Tejun Heo [this message]
2009-04-30  2:13             ` Tejun Heo
2009-05-06  9:33               ` Miklos Szeredi
2009-05-08 23:35                 ` Tejun Heo

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=49F908A1.70207@kernel.org \
    --to=tj@kernel.org \
    --cc=fuse-devel@lists.sourceforge.net \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox