Re: FUSE merging?

From: Eric W. Biederman (ebiederm_at_xmission.com)
Date: 07/02/05

  • Next message: Pierre Ossman: "Re: [PATCH 2/2] ISA DMA suspend for x86_64"
    To: Eric Van Hensbergen <ericvh@gmail.com>
    Date:	Sat, 02 Jul 2005 11:33:10 -0600
    
    

    Eric Van Hensbergen <ericvh@gmail.com> writes:

    > On Sat, 2 Jul 2005 6:15 am, Eric W. Biederman wrote:
    >>
    >> Taking a quick glance at v9fs and fuse I fail to see how either
    >> plays nicely with the page cache.
    >>
    >
    > True, in fact it actively avoids using it. The previous version used both the
    > page cache and the dcache with undesirable effects on synthetic file systems so
    > we removed cache support. Our intention is to design a cache layer (similar to
    > cfs on Plan 9) which handles cache semantics which can be parameterized with the
    > appropriate cache policy depending on the underlying file server.

    Not having auto discovery for that kind of thing disturbs me. But
    if you can discover what you must do and then the policy is about
    what you can do it I guess I'm fine with that.

    >> v9fs according to my reading of the protocol specification does
    >> not have any concept of a lease. So you can't tell if you are
    >> talking about a virtual filesystem where all calls should be passed
    >> straight to the server or a real filesystem where you can perform
    >> caching.
    >
    > While 9P contains no explicit support for leases and cacheing there is an
    > informal mechanism which is used (at least for plan 9 file servers). If the
    > qid.vers is 0 the file can be assumed to be a synthetic file and so it is not
    > cached.

    That sounds sane. With that you can at least do NFS style caching
    with a lot of stat calls to verify your cache is coherent and by
    implementing it as a write-through cache you can even do a halfway
    decent job of being cache coherent. Which is probably about the
    best you can do with the current unix API.

    With a write-through cache you can likely achieve the same
    semantic effect of totally not caching a file with an appropriate
    number of stat calls. Not caching some files will like yield

    I suggest you document the quid.vers == 0 magic for an uncachable
    file, so future interoperability is assured.

    Eric
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Pierre Ossman: "Re: [PATCH 2/2] ISA DMA suspend for x86_64"

    Relevant Pages

    • Re: nasm over gas?
      ... While it may not benefit from caching, cache misses still hurt it. ... Why has Alan measured faster kernels with -Os than with -O2? ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: Block Device Caching
      ... > data does not go into any cache. ... > This lead us to the conclusion that block devices do not cache, ... > while when unmounting the partition, caching does not work. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re[2]: [PHP] dynamic -> static
      ... As I wrote already this issue is mainly because of search engines ... incompatibility with dynamic content sites (to be more exact - with ... You can cache your code using PHP Accelerator or Turck ... MM> implementing a caching layer between your application and your database. ...
      (php.general)
    • Re: [PHP] Aggressive PHP Smart Caching
      ... i have begun to experiment w/ your caching tool. ... it is also important that the script calling ob_end_flushhave access to ... the header method in the first bit of code in the cache tool. ...
      (php.general)
    • Re: [PHP] dynamic -> static
      ... You can cache your code using PHP Accelerator or Turck ... implementing a caching layer between your application and your database. ... 404 causes it to error out regardless of the content of the response. ... with any caching system as above - finding and flushing stale data. ...
      (php.general)