rpc.idmapd: Dies with 'I/O possible'
authorLuca Giuzzi <luca.giuzzi@gmail.com>
Tue, 4 Oct 2011 17:35:06 +0000 (13:35 -0400)
committerSteve Dickson <steved@redhat.com>
Tue, 4 Oct 2011 17:37:00 +0000 (13:37 -0400)
We have had problems on some of our machines (all Fedora 14), where
rpc.idmapd used to die with an `I/O possible' message at (basically)
random times. A strace suggested the issue being in nfsopen() where a
signal type is reset before notification is disabled; a signal at just
the right time might be the cause of the problem; see
https://bugzilla.redhat.com/show_bug.cgi?id=684308

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
utils/idmapd/idmapd.c

index 19d9114..e80efb4 100644 (file)
@@ -778,8 +778,8 @@ nfsopen(struct idmap_client *ic)
        } else {
                event_set(&ic->ic_event, ic->ic_fd, EV_READ, nfscb, ic);
                event_add(&ic->ic_event, NULL);
-               fcntl(ic->ic_dirfd, F_SETSIG, 0);
                fcntl(ic->ic_dirfd, F_NOTIFY, 0);
+               fcntl(ic->ic_dirfd, F_SETSIG, 0);
                if (verbose > 0)
                        xlog_warn("Opened %s", ic->ic_path);
        }