diff options
author | Jan Tatje <jan@jnt.io> | 2019-06-03 23:23:39 +0000 |
---|---|---|
committer | Francesco Colista <fcolista@alpinelinux.org> | 2019-06-05 07:03:48 +0000 |
commit | 165dd080660bea8a4cefb71b68fc1110732f8006 (patch) | |
tree | 051209776f65138217a3df93a4a06e00baa1682a /main/nfs-utils/idmapd-dnotify-to-inotify.patch | |
parent | e61e0b162dd61f62139d1526ca958f5afe600f0b (diff) | |
download | aports-165dd080660bea8a4cefb71b68fc1110732f8006.tar.bz2 aports-165dd080660bea8a4cefb71b68fc1110732f8006.tar.xz |
main/nfs-utils: upgrade to 2.3.4
Diffstat (limited to 'main/nfs-utils/idmapd-dnotify-to-inotify.patch')
-rw-r--r-- | main/nfs-utils/idmapd-dnotify-to-inotify.patch | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/main/nfs-utils/idmapd-dnotify-to-inotify.patch b/main/nfs-utils/idmapd-dnotify-to-inotify.patch deleted file mode 100644 index d1a3011f7f..0000000000 --- a/main/nfs-utils/idmapd-dnotify-to-inotify.patch +++ /dev/null @@ -1,105 +0,0 @@ -From patchwork Wed Jun 21 21:23:38 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [V2] idmapd: Use inotify instead of dnotify -From: Alan Swanson <reiver@improbability.net> -X-Patchwork-Id: 9802949 -Message-Id: <20170621212338.32460-1-reiver@improbability.net> -To: linux-nfs@vger.kernel.org -Cc: Alan Swanson <reiver@improbability.net> -Date: Wed, 21 Jun 2017 22:23:38 +0100 - -Remove last use of dnotify in nfs-utils by bringing idmapd upto -date with (required) inotify use by gssd and blkmapd. ---- - utils/idmapd/idmapd.c | 32 +++++++++++++++++--------------- - 1 file changed, 17 insertions(+), 15 deletions(-) - -Got annoyed by the dnotify kernel requirement. Read the last -discussion "DNOTIFY to INOTIFY migration" posted in 2014 and while -still not officially depreciated, dnotify was officially "replaced" -by inotify in Linux 2.6.13 in 2005. Would be nice to sync this -requirement across the codebase. - -V2: Init wd to -1 not 0 - -diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c -index c12e878..c29dba6 100644 ---- a/utils/idmapd/idmapd.c -+++ b/utils/idmapd/idmapd.c -@@ -36,7 +36,7 @@ - - #include <sys/types.h> - #include <sys/time.h> --#include <sys/poll.h> -+#include <sys/inotify.h> - #include <sys/socket.h> - #include <sys/stat.h> - #include <time.h> -@@ -205,15 +205,16 @@ void usage(char *progname) - int - main(int argc, char **argv) - { -- int fd = 0, opt, fg = 0, nfsdret = -1; -+ int wd = -1, opt, fg = 0, nfsdret = -1; - struct idmap_clientq icq; -- struct event rootdirev, clntdirev, svrdirev; -+ struct event rootdirev, clntdirev, svrdirev, inotifyev; - struct event initialize; - struct passwd *pw; - struct group *gr; - struct stat sb; - char *xpipefsdir = NULL; - int serverstart = 1, clientstart = 1; -+ int inotify_fd; - int ret; - char *progname; - char *conf_path = NULL; -@@ -373,18 +374,15 @@ main(int argc, char **argv) - } - } - -- if ((fd = open(pipefsdir, O_RDONLY)) == -1) -- xlog_err("main: open(%s): %s", pipefsdir, strerror(errno)); -- -- if (fcntl(fd, F_SETSIG, SIGUSR1) == -1) -- xlog_err("main: fcntl(%s): %s", pipefsdir, strerror(errno)); -- -- if (fcntl(fd, F_NOTIFY, -- DN_CREATE | DN_DELETE | DN_MODIFY | DN_MULTISHOT) == -1) { -- xlog_err("main: fcntl(%s): %s", pipefsdir, strerror(errno)); -- if (errno == EINVAL) -- xlog_err("main: Possibly no Dnotify support in kernel."); -+ inotify_fd = inotify_init1(IN_NONBLOCK); -+ if (inotify_fd == -1) { -+ xlog_err("Unable to initialise inotify_init1: %s\n", strerror(errno)); -+ } else { -+ wd = inotify_add_watch(inotify_fd, pipefsdir, IN_CREATE | IN_DELETE | IN_MODIFY); -+ if (wd < 0) -+ xlog_err("Unable to inotify_add_watch(%s): %s\n", pipefsdir, strerror(errno)); - } -+ - TAILQ_INIT(&icq); - - /* These events are persistent */ -@@ -394,6 +392,10 @@ main(int argc, char **argv) - signal_add(&clntdirev, NULL); - signal_set(&svrdirev, SIGHUP, svrreopen, NULL); - signal_add(&svrdirev, NULL); -+ if ( wd >= 0) { -+ event_set(&inotifyev, inotify_fd, EV_READ | EV_PERSIST, dirscancb, &icq); -+ event_add(&inotifyev, NULL); -+ } - - /* Fetch current state */ - /* (Delay till start of event_dispatch to avoid possibly losing -@@ -402,7 +404,7 @@ main(int argc, char **argv) - evtimer_add(&initialize, &now); - } - -- if (nfsdret != 0 && fd == 0) -+ if (nfsdret != 0 && wd < 0) - xlog_err("main: Neither NFS client nor NFSd found"); - - daemon_ready(); |