afs: fix broken volume callbacks (e.g. vos release) 40/13140/2
authorMark Vitale <mvitale@sinenomine.net>
Fri, 25 May 2018 21:05:28 +0000 (17:05 -0400)
committerBenjamin Kaduk <kaduk@mit.edu>
Thu, 7 Jun 2018 23:07:07 +0000 (19:07 -0400)
commit74de0a543af154624ea7906b83ef10ba7c48590c
tree23f07b82cbe21659a3e58120255b9f5dc088c1a6
parentc80af69e04bb39b0aa3d1b6705034fd26358f7c7
afs: fix broken volume callbacks (e.g. vos release)

Commit e99bfcfaa3bca3e65f03928718c2c9eb5eff7c8c ('afs: use jenkins hash
for dcache, vcache tables') introduced new hashing implementations for
the dcache and vcache hash tables.  Unfortunately, a typo introduced a
bug into the VCHashV hash function; instead of hashing by volume id, it
currently hashes by vnode.

The most common symptom is that volume callbacks (RXAFSCB_Callback with
fid <volid>:0:0) fail to find and invalidate all the files for the
specified volume.  This typically manifests as persistent stale RO
content after a 'vos release' for new RW content.

This bug only affects the Unix cache manager; the Windows cache manager
implementation of RXAFSCB_Callback was unaffected.

Reviewed-on: https://gerrit.openafs.org/13090
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 1dc9bb4e7362029db073250f23a09f949e1655de)

Change-Id: I535f91630948e7aa6a8d72eb37e0cce88c33156d
Reviewed-on: https://gerrit.openafs.org/13140
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/afs/afs_vcache.c