afs: Add AFS_USPC_SHUTDOWN bkg request 81/13281/7
authorAndrew Deason <adeason@sinenomine.net>
Tue, 14 Aug 2018 20:53:20 +0000 (15:53 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 12 Jul 2019 23:55:03 +0000 (19:55 -0400)
commit397199a1992d74d8b7e693a2d76df836f7a70080
treefc73a19e6e031256565d8936f3b409cc6c928d98
parent79dffe29c8a0ec55c4231a18077efdfa7c1edf53
afs: Add AFS_USPC_SHUTDOWN bkg request

When AFS_NEW_BKG was added, the kernel module indicated to the
relevant afsd process that it's time to shutdown by returning -2. This
works on DARWIN, but it's difficult to make this work on all
platforms, because of the different way that platforms handle error
codes from our pioctls and other AFS syscalls.

Specifically, on LINUX, negative error codes are assumed to be
negative errno codes, and so returning -2 from the syscall handler
means we return -1 to userspace, with errno set to 2 (ENOENT).

Getting this to work consistently across platforms is probably more
trouble than its worth, so instead of relying on specific return codes
from the syscall, just add a new background daemon operation called
AFS_USPC_SHUTDOWN, which just tells the background daemon to exit.

Change-Id: I00b245c8f734dc9e49d6b4268cd0f6a4f1896894
Reviewed-on: https://gerrit.openafs.org/13281
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/afs/afs_daemons.c
src/afsd/afsd.c
src/config/afs_args.h