Revision fe89794e lib/rpc.py

b/lib/rpc.py
111 111
    else:
112 112
      self.data = data
113 113
      if not isinstance(self.data, (tuple, list)):
114
        self.failed = True
114 115
        self.fail_msg = ("RPC layer error: invalid result type (%s)" %
115 116
                         type(self.data))
116 117
      elif len(data) != 2:
118
        self.failed = True
117 119
        self.fail_msg = ("RPC layer error: invalid result length (%d), "
118 120
                         "expected 2" % len(self.data))
119 121
      elif not self.data[0]:
122
        self.failed = True
120 123
        self.fail_msg = self._EnsureErr(self.data[1])
121 124
      else:
122 125
        # finally success
......
810 813
    """
811 814
    result = self._SingleNodeCall(node, "blockdev_getmirrorstatus",
812 815
                                  [dsk.ToDict() for dsk in disks])
813
    if not result.failed:
816
    if not (result.failed or result.fail_msg):
814 817
      result.payload = [objects.BlockDevStatus.FromDict(i)
815 818
                        for i in result.payload]
816 819
    return result

Also available in: Unified diff