39 lines
1.3 KiB
Diff
39 lines
1.3 KiB
Diff
|
From 8becedab3982d4780dbc010decc1ac7eb9ce914f Mon Sep 17 00:00:00 2001
|
||
|
From: Neil Brown <neilb@suse.de>
|
||
|
Date: Mon, 2 Sep 2013 14:54:16 +1000
|
||
|
Subject: [PATCH] gssd: support error message if rpc_pipefs dir disappears.
|
||
|
|
||
|
It is possible for a race to cause a name to appear when an rpc_pipefs
|
||
|
dir is scanned but to no longer be present when we try to open it.
|
||
|
|
||
|
So if the error is ENOENT, don't complain.
|
||
|
|
||
|
This is similar to
|
||
|
|
||
|
commit 5ac9bcfd820f09af4d3f87f1f7346d896f70bc9a
|
||
|
Author: David Jeffery <djeffery@redhat.com>
|
||
|
Date: Wed Jan 16 15:21:55 2013 -0500
|
||
|
|
||
|
rpc.idmapd: Ignore open failures in dirscancb()
|
||
|
|
||
|
which addressed a similar issue in idmapd.
|
||
|
|
||
|
Signed-off-by: NeilBrown <neilb@suse.de>
|
||
|
|
||
|
diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c
|
||
|
index b7e2bbb..2d3dbec 100644
|
||
|
--- a/utils/gssd/gssd_proc.c
|
||
|
+++ b/utils/gssd/gssd_proc.c
|
||
|
@@ -467,8 +467,9 @@ process_clnt_dir(char *dir, char *pdir)
|
||
|
}
|
||
|
sprintf(clp->dirname, "%s/%s", pdir, dir);
|
||
|
if ((clp->dir_fd = open(clp->dirname, O_RDONLY)) == -1) {
|
||
|
- printerr(0, "ERROR: can't open %s: %s\n",
|
||
|
- clp->dirname, strerror(errno));
|
||
|
+ if (errno != ENOENT)
|
||
|
+ printerr(0, "ERROR: can't open %s: %s\n",
|
||
|
+ clp->dirname, strerror(errno));
|
||
|
goto fail_destroy_client;
|
||
|
}
|
||
|
fcntl(clp->dir_fd, F_SETSIG, DNOTIFY_SIGNAL);
|