public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
To: linux-kernel@vger.kernel.org
Subject: Re: making an in-memory hashing table ["name" -> ino_t] with thousands of entries
Date: Fri, 1 Oct 2004 14:33:02 +0100	[thread overview]
Message-ID: <20041001133302.GB8507@lkcl.net> (raw)
In-Reply-To: <20041001123019.GC4072@admingilde.org>

On Fri, Oct 01, 2004 at 02:30:19PM +0200, Martin Waitz wrote:
> hi :)

 hello martin: thanks for responding.

> On Fri, Oct 01, 2004 at 01:02:22PM +0100, Luke Kenneth Casson Leighton wrote:
> > bearing in mind that for every file accessed via a fuse
> > filesystem, a cache entry is created, and therefore the number
> > of entries could potentially run into hundreds of thousands
> > of entries.
> 
> but these can be cleaned if needed.
> 
> why do you have to move all inodes into the kernel when the kernel
> already cache those that are really needed?
> (perhaps I'm misunderstandig fuses role here)
 
 fuse is a userspace filesystem.

 it can be absolutely anything.

 however, the author of fuse, in order to simplify the userspace
 interface, manages the userspace-inode <-> userspace-fullpathnames
 in a library.

 for the sake of argument, let's call this the fuse-inode-cache.

 entries in the fuse-inode-cache must be persistent for as long as a
 filename exists on the userspace file system.

 also, if an entry happens not to exist at the time a lookup
 is done, then an entry into the cache is created, associating that full
 path name with a newly created unique inode number (in the userspace
 fuse-inode-cache).

 then, that information (the unique inode number) is communicated _back_
 to the fuse module, along with the stat information (yes, a userspace
 lstat is done as well), and the kernel's inode structure is updated
 from that information.


 anyway: for various reasons, inside the kernel, it must
 be possible to do a lookup from the full path name to the
 inode number.


 smbfs suffers from exactly the same problem: inodes don't exist on the
 SMB protocol.

 hm, i wonder if i should just rip stacks of code from the smbfs kernel
 module?

 i note with interest the existence of a function smb_refresh_inode()
 which gets passed a dentry.

 then i can do a getattr and go from there.

 oh, man, this is hair-raising stuff.

 l.

 

-- 
--
Truth, honesty and respect are rare commodities that all spring from
the same well: Love.  If you love yourself and everyone and everything
around you, funnily and coincidentally enough, life gets a lot better.
--
<a href="http://lkcl.net">      lkcl.net      </a> <br />
<a href="mailto:lkcl@lkcl.net"> lkcl@lkcl.net </a> <br />


      reply	other threads:[~2004-10-01 13:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-01 12:02 making an in-memory hashing table ["name" -> ino_t] with thousands of entries Luke Kenneth Casson Leighton
2004-10-01 12:30 ` Martin Waitz
2004-10-01 13:33   ` Luke Kenneth Casson Leighton [this message]

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=20041001133302.GB8507@lkcl.net \
    --to=lkcl@lkcl.net \
    --cc=linux-kernel@vger.kernel.org \
    /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