]> xenbits.xensource.com Git - people/dstodden/blktap.git/commitdiff
CA-34208: Anticipate VBD gone when removing pause-done; plus add more verbosity.
authorDaniel Stodden <daniel.stodden@citrix.com>
Thu, 29 Oct 2009 00:30:12 +0000 (17:30 -0700)
committerDaniel Stodden <daniel.stodden@citrix.com>
Thu, 29 Oct 2009 00:30:12 +0000 (17:30 -0700)
daemon/tapdisk-channel.c

index 12963cd796570abc067ad714b87d563e7ddf8734..a0eeb15fe53d00add21ca3834f1ce226de6501c0 100644 (file)
@@ -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;
 }