]> git.michaelhowe.org Git - packages/o/openafs.git/commit
Do not require AFS_SYSCALL
authorAndrew Deason <adeason@sinenomine.net>
Wed, 11 Mar 2015 17:55:42 +0000 (12:55 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Sat, 2 Jun 2018 22:44:26 +0000 (18:44 -0400)
commit73c15c4521f508e4b7d2c573a056b2105e51bb34
treec5cda440138bc1e7b8f4eaf4e42297c0b9f5f01c
parent902e70a30a87aaabe468f48a792729effdc94f1b
Do not require AFS_SYSCALL

Various parts of the code make use of AFS_SYSCALL in order to
communicate with the libafs kernel module. Even though most modern
platforms do not use an actual syscall anymore (instead using an
ioctl-based method or similar to emulate the traditional AFS syscall),
some code paths rely on AFS_SYSCALL as a fallback, or just use
AFS_SYSCALL because they were never updated to use the newer methods.

Even platforms that do not use the traditional AFS syscall still
define the AFS_SYSCALL number, in case someone still uses it for
something. However, some platforms do not have an AFS syscall number;
there is no "slot" allocated to us, so we cannot safely issue any
syscall.

For those platforms, we must not reference AFS_SYSCALL at all, or we
will fail to build. So, get rid of these references to AFS_SYSCALL if
it is not defined. In some places, we can just avoid the relevant code
making the syscall. In a few other places, we just pretend like the
libafs kernel module was not loaded and yield an ENOSYS error, to make
the code simpler.

Reviewed-on: https://gerrit.openafs.org/11937
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Ian Wienand <iwienand@redhat.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit ed513bb516acdb28fc6bbf01714ef2e1df422a8a)

Change-Id: I5e7e2381935eaa595f9fa796f963260b870dc72c
Reviewed-on: https://gerrit.openafs.org/13092
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/afsd/afsd_kernel.c
src/afsd/vsys.c
src/rx/rx_user.c
src/sys/pioctl.c
src/sys/setpag.c
src/venus/fstrace.c
src/viced/viced.c
src/volser/volmain.c