aboutsummaryrefslogtreecommitdiffstats
path: root/main/nfs-utils/idmapd-dnotify-to-inotify.patch
diff options
context:
space:
mode:
authorJan Tatje <jan@jnt.io>2019-06-03 23:23:39 +0000
committerFrancesco Colista <fcolista@alpinelinux.org>2019-06-05 07:03:48 +0000
commit165dd080660bea8a4cefb71b68fc1110732f8006 (patch)
tree051209776f65138217a3df93a4a06e00baa1682a /main/nfs-utils/idmapd-dnotify-to-inotify.patch
parente61e0b162dd61f62139d1526ca958f5afe600f0b (diff)
downloadaports-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.patch105
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();