A few places were using vnodes and vcaches interchangeably. This is
incorrect, since they may not always be the same thing if we stop
embedding vnodes directly in vcaches Fix these to properly go through
AFSTOV/VTOAFS to convert between vcaches and vnodes.
Reviewed-on: https://gerrit.openafs.org/12695
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: Mark Vitale <mvitale@sinenomine.net>
(cherry picked from commit
a6499e0b086d964f3fcc65fe4be31edc33015061)
Change-Id: Ia6889966a7c595786f0a273b4c2a5a63fe60ddd3
Reviewed-on: https://gerrit.openafs.org/13527
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
* besides the caller of afs_unmount */
rootvp = afs_globalVp;
afs_globalVp = NULL;
- AFS_RELE(rootvp);
+ AFS_RELE(AFSTOV(rootvp));
}
AFS_GUNLOCK();
*avcp = NULL;
if (!(code = afs_InitReq(&treq, credp))) {
- code = afs_osi_vget((struct vcache **)avcp, fidp, &treq);
+ struct vcache *tvc = NULL;
+ code = afs_osi_vget(&tvc, fidp, &treq);
+ if (tvc) {
+ *avcp = AFSTOV(tvc);
+ }
}
afs_Trace3(afs_iclSetp, CM_TRACE_VGET, ICL_TYPE_POINTER, *avcp,
vn_setpath(afs_globalVp, pvp, vp, aname2, strlen(aname2));
# endif /* !HAVE_VN_RENAMEPATH */
- AFS_RELE(avcp);
+ AFS_RELE(AFSTOV(avcp));
}
}
#endif