On Wed, 06 Jul 2005 14:33:18 -0600, Jonathan Briggs <[EMAIL PROTECTED]> said:

> On Wed, 2005-07-06 at 15:51 -0400, Hubert Chan wrote:
>> On Wed, 06 Jul 2005 12:52:23 -0600, Jonathan Briggs
>> <[EMAIL PROTECTED]> said:
> [snip]
>>> It still has the performance and locking problem of having to
>>> update every child file when moving a directory tree to a new
>>> parent.  On the other hand, maybe the benefit is worth the cost.

>> Every node should store the inode number(s) for its parent(s).  Not
>> the path name.  So you don't need to do any updates, since when you
>> move a tree, inode numbers don't change.

> You do need the updates if you change what inode is the parent.

> /a/b/c, /a/b/d, /a/b/e, /b
> mv /a/b /b
> Now you have to change the stored grand-parent inodes for /a/b/c,
> /a/b/d and /a/b/e so that they reference /b/b instead of /a/b.

Don't store (great)*grand-parent pointers; only parent pointers.  c
points to b, b points to a, a points to root.  c doesn't need to know
about /a or root directly.

-- 
Hubert Chan <[EMAIL PROTECTED]> - http://www.uhoreg.ca/
PGP/GnuPG key: 1024D/124B61FA
Fingerprint: 96C5 012F 5F74 A5F7 1FF7  5291 AF29 C719 124B 61FA
Key available at wwwkeys.pgp.net.   Encrypted e-mail preferred.

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

Reply via email to