From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54440) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWnC9-0005kf-Sd for qemu-devel@nongnu.org; Thu, 17 Oct 2013 09:00:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VWnC2-00085m-5u for qemu-devel@nongnu.org; Thu, 17 Oct 2013 09:00:53 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50407) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWnC1-00085b-Sg for qemu-devel@nongnu.org; Thu, 17 Oct 2013 09:00:46 -0400 Date: Thu, 17 Oct 2013 15:00:23 +0200 From: Kevin Wolf Message-ID: <20131017130023.GD2942@dhcp-200-207.str.redhat.com> References: <1381803804-4551-1-git-send-email-famz@redhat.com> <525EE171.20208@redhat.com> <20131017124928.GI10774@stefanha-thinkpad.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20131017124928.GI10774@stefanha-thinkpad.redhat.com> Subject: Re: [Qemu-devel] [PATCH v2] mirror: drop local_err in mirror_complete List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Fam Zheng , qemu-devel@nongnu.org, stefanha@redhat.com, Max Reitz Am 17.10.2013 um 14:49 hat Stefan Hajnoczi geschrieben: > On Wed, Oct 16, 2013 at 08:56:49PM +0200, Max Reitz wrote: > > On 2013-10-15 04:23, Fam Zheng wrote: > > The reason I object it here is that error_propagate *currently* is a > > no-op. But this may change in the future: I have already sent an RFC > > which extends error_propagate so it can generate an error backtrace > > if enabled through configure. If this (or something similar which > > extends error_propagate to do more than basically just *errp = > > local_err) is merged to/implemented in qemu later on, I believe we > > want to call error_propagate in every function that touches an error > > variable in order to generate a backtrace with maximum verbosity. > > Did you check if glib's backtrace(3) APIs can be used in error_set() > instead of rolling our own backtrace? > > Also, what is the purpose of the backtrace? If the problem is that > error messages don't identify unique errors, then we should fix that > instead of relying on backtraces. For example, a function that opens > two separate files shouldn't just fail with "File not found" since we > don't know which of the two files wasn't found. Mostly debugging, I guess. Even if you have unique error messages that can only come from a single place, finding that single place by looking at all called functions from a given QMP command can take quite a bit of time. I can see it useful. And we don't even have the unique error messages yet, so we shouldn't fall in the trap of rejecting an improvement because it's not perfect. Kevin