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/