141c141 < def abort(self): --- > def abort(self, sharenums=None): 147c147,153 < for writer in self.buckets.itervalues(): writer.abort() --- > if not sharenums: > sharenums = self.buckets.keys() > > for sharenum in sharenums: > if sharenum in self.buckets: > self.buckets[sharenum].abort() > del self.buckets[sharenum] 361a368,369 > for writer in self.use_peers: > writer.abort(self.homeless_shares) 370,371c378,379 < raise UploadUnhappinessError("%s (%s)" % (msg, < self._get_progress_message())) --- > log.msg("server selection unsuccessful for %s: %s: %s: %s" % (self, msg, self._get_progress_message(), pretty_print_shnum_to_servers(merged))) > return self._failed("%s (%s)" % (msg, self._get_progress_message()))