From: flar@allandria.com
To: viro@math.psu.edu (Alexander Viro)
Cc: dgatwood@deepspace.mklinux.org (David A. Gatwood),
ak@suse.de (Andi Kleen), lord@sgi.com (Steve Lord),
matthew@wil.cx (Matthew Wilcox),
khalfmann@libra.de (Halfmann Klaus),
roman@augan.com (Roman Zippel),
linuxppc-dev@lists.linuxppc.org, linux-fsdevel@vger.kernel.org
Subject: Re: Btree directories (Re: Status of HFS+ support)
Date: Thu, 31 Aug 2000 10:48:21 -0700 (PDT) [thread overview]
Message-ID: <200008311748.KAA13993@marcus.allandria.com> (raw)
In-Reply-To: <Pine.GSO.4.10.10008310557340.628-100000@weyl.math.psu.edu> from "Alexander Viro" at Aug 31, 2000 06:33:26 AM
Alexander Viro wrote:
> Shrinking/growing the same directory is not going to happen while you
> are in ->readdir(). You have ->i_zombie on it, so...
That's a bit of a help. The 2.2 docs rarely mentioned what was locked
when, and finding all the various locks in the code wasn't easy.
> Urgh. Could you show me your code? I think that a variation of the
> scheme used for fatfs may work here. Basically, you can keep hash of
You can find some of my code at http://devel.linuxppc.org/pub/users/flar/
which is in the form of patches to a slightly old 2.2 kernel. However,
since the patches hardly touch any existing files, it will likely apply
cleanly to any 2.2 kernel. I have some minor changes that aren't there
yet, but nothing that changes the basic outline or actually makes it
work properly. I didn't look much at fatfs because I didn't think it
would be relevant, but I'll take a look now that I have some idea what
I should look for there. My code is based on a mix of code stolen from
ext2 and hfs and a few ideas I thought of on my own.
> directory entries and do (find; unhash; copy; rehash) whenever you move
> one. inodes would keep references to such entries, ditto for readdir
> having a "cursor" entry. Rebalancing would go under rw-semaphore (writer)
> and all tree lookups/scans under the same semaphore (reader). That way you
> can get rid of the tree search in ->write_inode(), BTW.
I'm currently ignoring locking almost entirely, because my support is
read only, but I did have a few ideas on where I would need locking.
Hopefully my code isn't completely wrong, but I'd be happy to accept
any advice on where I really do need to worry about locking. I still
haven't read the latest documentation that I've been told got put
into 2.4 but I also haven't started porting my code to 2.4 for lack
of time.
Brad Boyer
flar@pants.nu
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2000-08-31 17:48 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-08-30 12:06 Btree directories (Re: Status of HFS+ support) Steve Lord
2000-08-30 15:07 ` Andi Kleen
2000-08-30 16:07 ` flar
2000-08-30 20:49 ` David A. Gatwood
2000-08-30 20:45 ` Steve Lord
2000-08-30 21:05 ` Alexander Viro
2000-08-30 21:51 ` David A. Gatwood
2000-08-30 21:49 ` Alexander Viro
2000-08-30 22:13 ` David A. Gatwood
2000-08-30 22:17 ` Alexander Viro
2000-08-30 23:11 ` David A. Gatwood
2000-08-31 0:10 ` Alexander Viro
2000-08-31 5:49 ` flar
2000-08-31 10:33 ` Alexander Viro
2000-08-31 17:48 ` flar [this message]
2000-08-31 19:54 ` Alexander Viro
2000-08-31 22:09 ` flar
2000-09-01 2:40 ` Alexander Viro
2000-09-01 3:52 ` flar
2000-09-02 4:04 ` Tony Mantler
-- strict thread matches above, loose matches on Subject: below --
2000-09-01 17:05 Halfmann, Klaus
2000-09-01 17:40 ` flar
2000-08-29 16:40 Status of HFS+ support (was hfs support for blocksize != 512) Halfmann, Klaus
2000-08-29 17:18 ` Btree directories (Re: Status of HFS+ support) Matthew Wilcox
2000-08-29 18:45 ` Steve Lord
2000-08-29 21:25 ` Matthew Wilcox
2000-08-30 2:22 ` flar
2000-08-30 8:35 ` Andi Kleen
2000-08-30 14:25 ` Chris Mason
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=200008311748.KAA13993@marcus.allandria.com \
--to=flar@allandria.com \
--cc=ak@suse.de \
--cc=dgatwood@deepspace.mklinux.org \
--cc=khalfmann@libra.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=lord@sgi.com \
--cc=matthew@wil.cx \
--cc=roman@augan.com \
--cc=viro@math.psu.edu \
/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;
as well as URLs for NNTP newsgroup(s).