public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Bharata B Rao <bharata@linux.vnet.ibm.com>
To: "Josef 'Jeff' Sipek" <jsipek@cs.sunysb.edu>
Cc: hooanon05@yahoo.co.jp, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, hch@infradead.org,
	Jan Blunck <jblunck@suse.de>
Subject: Re: [RFC] Union Mount: Readdir approaches
Date: Mon, 10 Sep 2007 09:16:24 +0530	[thread overview]
Message-ID: <20070910034624.GA6415@in.ibm.com> (raw)
In-Reply-To: <20070907173941.GB20360@filer.fsl.cs.sunysb.edu>

On Fri, Sep 07, 2007 at 01:39:41PM -0400, Josef 'Jeff' Sipek wrote:
> On Fri, Sep 07, 2007 at 01:28:55PM +0530, Bharata B Rao wrote:
> > On Fri, Sep 07, 2007 at 04:31:26PM +0900, hooanon05@yahoo.co.jp wrote:
> > > 
> > > When the first readdir is issued:
> > > - call vfs_readdir for every underlying opened dir (file) object.
> > > - store every entry to either the hash table for the result or the
> > >   whiteout, when the same-named entry didn't exist in the tables.
> > > - to improvement the performance, the allocated memory for the hash
> > >   tables are managed in a pointer array. and the elements are
> > >   concatinated logically by the pointer.
> > > - the pointer for the result-table, the version, and the currect jiffies
> > >   are set to vdir, which is a cache in an inode.
> > > - all cache are copied to a member in a file object.
> > > - the index of the cache memory block and the offset in an array is
> > >   handled as the seek position.
> > 
> > Ok, interesting approach. So you define the seek behaviour on your
> > directory cache rather than allowing the underlying filesystems to
> > interpret the seek. I guess we can do something similar with Union
> > Mounts also.
> 
> Unless I missunderstood something, Unionfs uses the same approach. Even

But in the version of unionfs present in -mm, lseek on directories is
still limited in functionality as it allows seeking to only the
beginning and to the current position.

> Unionfs's ODF branch does the same thing. The major difference is that we
> keep the cache in a file on a disk.

And as Erez explained, it is ODF which is allowing you to have a
complete lseek behaviour.

Regards,
Bharata.

  parent reply	other threads:[~2007-09-10  3:46 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-07  5:46 [RFC] Union Mount: Readdir approaches Bharata B Rao
2007-09-07  7:31 ` hooanon05
2007-09-07  7:58   ` Bharata B Rao
2007-09-07 17:39     ` Josef 'Jeff' Sipek
2007-09-07 17:54       ` Erez Zadok
2007-09-10  5:15         ` Bharata B Rao
2007-09-10  2:16       ` hooanon05
     [not found]         ` <20070911165547.GA26515@filer.fsl.cs.sunysb.edu>
2007-09-12  2:05           ` hooanon05
2007-09-10  3:46       ` Bharata B Rao [this message]
2007-09-07 11:54   ` Al Boldi
2007-09-07 12:49     ` hooanon05
2007-09-12 10:46       ` Al Boldi
2007-09-12 18:25         ` Jan Engelhardt
2007-09-13  2:15           ` hooanon05
2007-09-13  5:32             ` Al Boldi
2007-09-13  5:52               ` hooanon05
2007-09-13  6:29                 ` Jan Engelhardt
2007-09-07 23:04   ` Matt Keenan
2007-09-10  2:17     ` hooanon05
2007-09-07 14:39 ` Jan Engelhardt

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=20070910034624.GA6415@in.ibm.com \
    --to=bharata@linux.vnet.ibm.com \
    --cc=hch@infradead.org \
    --cc=hooanon05@yahoo.co.jp \
    --cc=jblunck@suse.de \
    --cc=jsipek@cs.sunysb.edu \
    --cc=linux-fsdevel@vger.kernel.org \
    --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