Implement shm_attach_to_open_removed() for OpenBSD
authorTomohiro Kusumi <tkusumi@tuxera.com>
Sun, 30 Apr 2017 17:35:10 +0000 (20:35 +0300)
committerJens Axboe <axboe@fb.com>
Sun, 30 Apr 2017 22:51:21 +0000 (16:51 -0600)
commit3cdc4fb008457c16edbfd8101ba57d45e53a5d14
treebf0d2c9cc9e4b9dd75536840d984c4e30b18d46c
parentbaa78fdc7dd42d54595a2678f759fe842f990912
Implement shm_attach_to_open_removed() for OpenBSD

Add implementation which had been left by
0cfe2089 (Add runtime handlers for 97900ebf for FreeBSD/DragonFlyBSD).

This implementation is based on what
97900ebf (shm: have os remove shared memory if fio dies unexpectedly)
says. There seems to be no easy way to statically test versions like
KERNEL_VERSION() in Linux kernel.

The code assumes major/minor are both < 10. The minor has never been
10 or above. The major won't be 10 anytime soon based on the past
release cycle (current version is 6.1 after more than 2 decades).
https://en.wikipedia.org/wiki/OpenBSD_version_history

--
 # uname
 OpenBSD
 # uname -r
 6.1
 # cat ./test1.c
 #include <stdio.h>
 #include "./os/os.h"
 #include "./os/os-openbsd.h"
 int main(void) {
         printf("%d\n", shm_attach_to_open_removed());
         return 0;
 }
 # gcc -Wall -g ./test1.c
 # ./a.out
 1

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
os/os-openbsd.h