Salutations -devel@, I have three related sets of questions for you.
First, conflicting serverFlags bits: Which of afs/vldbint.h or afs/volser.h do I believe? They agree on "new repsite", "rw", "ro", and "backup" volumes, but then one says "rwrepl", "dontuse" while the other says "uuid", "dontuse", "rwrepl": afs/volser.h > #define NEW_REPSITE 0x01 > #define ITSROVOL 0x02 > #define ITSRWVOL 0x04 > #define ITSBACKVOL 0x08 > #define ITSRWREPL 0x10 > #define RO_DONTUSE 0x20 afs/vldbint.h > #define VLSF_NEWREPSITE 0x01 /* flags for indiv. server entry */ > #define VLSF_ROVOL 0x02 > #define VLSF_RWVOL 0x04 > #define VLSF_BACKVOL 0x08 > #define VLSF_UUID 0x10 > #define VLSF_DONTUSE 0x20 > #define VLSF_RWREPLICA 0x40 /* Volume is a RW replica */ It looks like ITSRWREPL is a lie and that it isn't used in the codebase while VLSF_UUID is. Should the two sets of definitions be harmonized or replaced with just a single one somewhere? Despite appearances, are these actually referring to two different serialized forms? (The comment in afs/volser.h says that these refer to nvldbEntry, which is defined in afs/vldbint.h) Second, VLOP flags: While here, why are VLOP flags defined in vldbint.h with self-styled bogus clashing names in volser.h? And third, please send help, I am so confused: I believe the following assertions, could someone please tell me their validity? 1) A clone volume is identified by the cloneId field, which may only be set if the RO_EXISTS bit is on. There's not really a separate entry for the clone volume; the semantics are inherited from the one with VLSF_ROVOL turned on. 2) VLSF_BACKVOL is not used in practice; the VLDB marks backup volumes with VLSF_RWVOL. Thanks much, --nwf;
pgpBTdeFYQueT.pgp
Description: PGP signature