From: Daniel Stodden Date: Thu, 29 Oct 2009 00:30:12 +0000 (-0700) Subject: CA-34208: Anticipate VBD gone when removing pause-done; plus add more verbosity. X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=6bb28554bc51580b79bfd1d5640781430b652c51;p=people%2Fdstodden%2Fblktap.git CA-34208: Anticipate VBD gone when removing pause-done; plus add more verbosity. --- diff --git a/daemon/tapdisk-channel.c b/daemon/tapdisk-channel.c index 12963cd..a0eeb15 100644 --- a/daemon/tapdisk-channel.c +++ b/daemon/tapdisk-channel.c @@ -721,34 +721,30 @@ again: static int tapdisk_channel_signal_paused(tapdisk_channel_t *channel) { - int err = 0; bool ok; + int err; - DPRINTF("write %s\n", channel->pause_done_str); ok = xs_write(channel->xsh, XBT_NULL, channel->pause_done_str, "", 0); - if (!ok) { - err = -errno; - EPRINTF("error writing %s: %d\n", - channel->pause_done_str, err); - } + err = ok ? 0 : -errno; + if (err) + EPRINTF("error writing %s: %d\n", channel->pause_done_str, err); + DPRINTF("write %s: %d\n", channel->pause_done_str, err); return err; } static int tapdisk_channel_signal_unpaused(tapdisk_channel_t *channel) { - int err = 0; bool ok; + int err; - DPRINTF("clear %s\n", channel->pause_done_str); ok = xs_rm(channel->xsh, XBT_NULL, channel->pause_done_str); - if (!ok) { - err = -errno; - EPRINTF("error removing %s: %d\n", - channel->pause_done_str, err); - } + err = ok ? 0 : -errno; + if (err && err != -ENOENT) + EPRINTF("error removing %s: %d\n", channel->pause_done_str, err); + DPRINTF("clear %s: %d\n", channel->pause_done_str, err); return err; }