afs: Avoid using logical OR when setting f_fsid 92/14292/4
authorCheyenne Wills <cwills@sinenomine.net>
Mon, 27 Jul 2020 18:31:35 +0000 (12:31 -0600)
committerBenjamin Kaduk <kaduk@mit.edu>
Sat, 1 Aug 2020 02:18:50 +0000 (22:18 -0400)
commitc56873bf95f6325b70e63ed56ce59a3c6b2b753b
tree1fd2cd43fe4dc327de4e8c1e620d3fd073509de9
parent446457a1240b88fd94fc34ff5715f2b7f2f3ef12
afs: Avoid using logical OR when setting f_fsid

Building with clang-10 produces the warning/error message
    warning: converting the result of '<<' to a boolean always evaluates
    to true [-Wtautological-constant-compare]
for the expression
    abp->f_fsid = (AFS_VFSMAGIC << 16) || AFS_VFSFSID;

The message is because a logical OR '||' is used instead of a bitwise
OR '|'.  The result of this expression will always set the f_fsid
member to a 1 and not the intended value of AFS_VFSMAGIC combined with
AFS_VFSFSID.

Update the expression to use a bitwise OR instead of the logical OR.

Note: This will change value stored in the f_fsid that is returned from
statfs.

Using a logical OR has existed since OpenAFS 1.0 for hpux/solaris and in
UKERNEL since OpenAFS 1.5 with the commit 'UKERNEL: add uafs_statvfs'
b822971a.

Change-Id: I3e85ba48058ac68e3e3ac7f277623f660187926c
Reviewed-on: https://gerrit.openafs.org/14292
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/afs/HPUX/osi_vfsops.c
src/afs/SOLARIS/osi_vfsops.c
src/afs/UKERNEL/osi_vfsops.c