Messages in this thread | | | Date | Mon, 5 Apr 2004 10:22:58 +0200 | From | Pavel Machek <> | Subject | Re: [PATCH] cowlinks v2 |
| |
Hi!
> > > > > Could you not change it back to a normal inode when refcount becomes 1? > > > > > > > > You can only do that if the cowid object has a pointer to the last > > > > remaining reference to it. That's possible, but more complicated and > > > > would incur a little more I/O per cow operation. > > > > > > You'd have to have pointers to all references to it... because you > > > can't tell in advance which one will be the last to go away. > > > > Exactly. Each of the cow pointers would need to be linked in a doubly > > linked list containing them all. > > I don't like the list idea. Having the extra cowid (I prefer inode) > indirection costs a few bytes and one lookup, not much. The list is > way too much overhead to get rid of so little in a few cases.
Nobody likes the "list idea".
> If you really want to, create a new syscall foldfile() that will > remove the indirection for one file, if possible. Then userspace can > do the ugly work of scanning for single-linked cowids (or just leave > it).
We could automaticaly remove them when we see them, or on first open( O_RDWR) or something, or just leave them alone. Definitely leave them alone for first version. Pavel -- When do you have a heart between your knees? [Johanka's followup: and *two* hearts?] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |