OpenAFS Master Repository branch, openafs-stable-1_8_x, updated. openafs-stable-1_8_3-19-g7328cb0b

Gerrit Code Review
Mon, 10 Jun 2019 07:50:31 -0400

The following commit has been merged in the openafs-stable-1_8_x branch:
commit 7328cb0b000c61672ab75cda14ba0e42839adb03
Author: Andrew Deason <>
Date:   Wed Aug 9 20:06:00 2017 -0500

    SOLARIS: Accept vnodes in vnode ops
    Currently, our vnode op callbacks look like this:
        int gafs_fsync(struct vcache *avc, afs_ucred_t *acred);
    And a pointer to gafs_fsync is given directly to Solaris. This cannot
    be correct, since 'struct vcache' is an OpenAFS type, so Solaris
    cannot possibly give us a 'struct vcache'. The actual correct
    signature for such a function is something like this:
        int gafs_fsync(struct vnode *vp, afs_ucred_t *acred);
    And then the 'gafs_fsync' function is supposed to translate 'vp' into
    a vcache.
    This works on Solaris right now because we embed the vnode as the
    first member in our vcache, and so a pointer to a vnode is also a
    pointer to a vcache. However, this would break if we ever change
    Solaris vcaches to use a non-embedded vnode (like on some other
    platforms). And even now, this causes a lot of warnings in
    osi_vnodeops.c, since the function signatures are wrong for our vnode
    So to fix this, change all of these functions to accept a 'struct
    vnode', and translate to/from vnodes and vcaches appropriately.
    Reviewed-by: Mark Vitale <>
    Reviewed-by: Cheyenne Wills <>
    Reviewed-by: Michael Meffie <>
    Reviewed-by: Marcio Brito Barbosa <>
    Reviewed-by: Benjamin Kaduk <>
    Tested-by: Mark Vitale <>
    (cherry picked from commit 9a2b11747ce355d9adc8a5a646c88f8f3d9765ee)
    Change-Id: I85cee787e26886596a10c6b9a02f33f2bf28d65d
    Reviewed-by: Michael Meffie <>
    Reviewed-by: Andrew Deason <>
    Reviewed-by: Cheyenne Wills <>
    Reviewed-by: Mark Vitale <>
    Reviewed-by: Marcio Brito Barbosa <>
    Tested-by: BuildBot <>
    Reviewed-by: Stephan Wiesand <>

 src/afs/SOLARIS/osi_vnodeops.c |  118 +++++++++++++++++++++++-----------------
 1 files changed, 67 insertions(+), 51 deletions(-)

OpenAFS Master Repository