afs: Clarify vcache->mvid accesses
authorAndrew Deason <adeason@sinenomine.net>
Sat, 14 Feb 2015 00:02:44 +0000 (18:02 -0600)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 21 Aug 2015 22:53:10 +0000 (18:53 -0400)
commita19728ba55f30a41799855b49c5cf6c07c840f87
tree7987955d7b62aa2f197740b553479acddbf7d8f9
parent65cffcadb96389ff3e794eb822d2231220c71160
afs: Clarify vcache->mvid accesses

Currently, numerous places in the code treat the 'mvid' field in
struct vcache as a few different things:

 - If the vcache is a mountpoint, mvid points to the fid of the root
   dir of the target volume.

 - If the vcache is a volume root dir, mvid points to the fid of the
   parent dir for the mountpoint.

 - If the vcache is a sillyrenamed file, mvid points to a string,
   which is the name the vcache was renamed to.

Despite these three things being very different (and one of them is a
completely different type than the others), everywhere in the code
just accesses mvid as 'avc->mvid'. This can make it very confusing as
to what the field actually means at any particular part of the code,
and makes it very difficult to search the code for places that use
mvid in any one of these specific ways.

So, to aid in code clarity, make mvid into a union, with the following
members:

 - target_root: For the "mountpoint" case.

 - parent: For the "root dir" case.

 - silly_name: For the "sillyrename" case.

This should have no effect on code behavior, but just makes the code a
bit clearer.

Change-Id: I45391bb7a99d6f8e35c44873b677d157ea681900
Reviewed-on: http://gerrit.openafs.org/11748
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
12 files changed:
src/afs/DARWIN/osi_vnodeops.c
src/afs/IRIX/osi_idbg.c
src/afs/LINUX/osi_export.c
src/afs/LINUX/osi_vnodeops.c
src/afs/VNOPS/afs_vnop_dirops.c
src/afs/VNOPS/afs_vnop_lookup.c
src/afs/VNOPS/afs_vnop_readdir.c
src/afs/VNOPS/afs_vnop_remove.c
src/afs/afs.h
src/afs/afs_callback.c
src/afs/afs_vcache.c
src/afs/afs_volume.c