Excerpts from Dave Chinner's message of 2010-12-03 17:27:56 -0500: > On Fri, Dec 03, 2010 at 04:45:27PM -0500, Josef Bacik wrote: > > On Wed, Dec 01, 2010 at 09:21:36AM -0500, Josef Bacik wrote: > > > Hello, > > > > > > Various people have complained about how BTRFS deals with subvolumes recently, > > > specifically the fact that they all have the same inode number, and there's no > > > discrete seperation from one subvolume to another. Christoph asked that I lay > > > out a basic design document of how we want subvolumes to work so we can hash > > > everything out now, fix what is broken, and then move forward with a design that > > > everybody is more or less happy with. I apologize in advance for how freaking > > > long this email is going to be. I assume that most people are generally > > > familiar with how BTRFS works, so I'm not going to bother explaining in great > > > detail some stuff. > > > > .... > > > are things that cannot be fixed now. Some of these changes will require > > > incompat format changes, but it's either we fix it now, or later on down the > > > road when BTRFS starts getting used in production really find out how many > > > things our current scheme breaks and then have to do the changes then. Thanks, > > > > > > > So now that I've actually looked at everything, it looks like the semantics are > > all right for subvolumes > > > > 1) readdir - we return the root id in d_ino, which is unique across the fs > > 2) stat - we return 256 for all subvolumes, because that is their inode number > > 3) dev_t - we setup an anon super for all volumes, so they all get their own > > dev_t, which is set properly for all of their children, see below > > A property of NFS fileshandles is that they must be stable across > server reboots. Is this anon dev_t used as part of the NFS > filehandle and if so how can you guarantee that it is stable? It isn't today, that's something we'll have to address. -chris -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html