On Tue, Mar 2, 2010 at 2:53 PM, Jeffrey Hutzelman <[email protected]> wrote: > --On Tuesday, March 02, 2010 01:28:08 PM -0600 Andrew Deason > <[email protected]> wrote: > >> The purpose of this is for when we are salvaging a volume that has lost >> its root vnode. Gerrit 1235 has the code to create a new root vnode, but >> we must guess as to what the dv for it would be. The current guess is >> based on the creationDate for the volume, which isn't really robust. >> >> So instead, if we store the root dv redundantly in the volume header, we >> stand a much better chance at choosing a dv that won't screw up clients, >> since we can base the new dv off of the last known dv. > > Yuck. The root vnode DV is stored in the large vnode index, and in the > metadata for the underlying inode (and, in namei, in the link table). The > only reason you'd need an additional copy is if you lost both the root vnode > and the index, in which case it seems just as likely that you've lost the > volume info inode as well.
I still advocate the "no, the volume is trashed, we give you a high dv and make the volume readonly" approach. if you lost the root vnode, you're not really in good shape. But I'm unwilling to suggest it's the "one true way" _______________________________________________ OpenAFS-devel mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-devel
