From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52698) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XK7UG-000354-0p for qemu-devel@nongnu.org; Wed, 20 Aug 2014 11:07:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XK7U9-0000ri-Ru for qemu-devel@nongnu.org; Wed, 20 Aug 2014 11:07:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51007) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XK7U9-0000re-KK for qemu-devel@nongnu.org; Wed, 20 Aug 2014 11:07:37 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s7KF7ag9010293 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 20 Aug 2014 11:07:37 -0400 Date: Wed, 20 Aug 2014 17:07:34 +0200 From: Kevin Wolf Message-ID: <20140820150734.GH6122@noname.redhat.com> References: <1405707901-8253-1-git-send-email-mreitz@redhat.com> <1405707901-8253-2-git-send-email-mreitz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1405707901-8253-2-git-send-email-mreitz@redhat.com> Subject: Re: [Qemu-devel] [PATCH 1/6] block: Add bdrv_refresh_filename() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz Cc: qemu-devel@nongnu.org, Stefan Hajnoczi Am 18.07.2014 um 20:24 hat Max Reitz geschrieben: > Some block devices may not have a filename in their BDS; and for some, > there may not even be a normal filename at all. To work around this, add > a function which tries to construct a valid filename for the > BDS.filename field. > > If a filename exists or a block driver is able to reconstruct a valid > filename (which is placed in BDS.exact_filename), this can directly be > used. > > If no filename can be constructed, we can still construct an options > QDict which is then converted to a JSON object and prefixed with the > "json:" pseudo protocol prefix. The QDict is placed in > BDS.full_open_options. > > For most block drivers, this process can be done automatically; those > that need special handling may define a .bdrv_refresh_filename() method > to fill BDS.exact_filename and BDS.full_open_options themselves. > > Signed-off-by: Max Reitz > --- > In this version, bdrv_refresh_filename() leaves the filename unmodified > if neither a new filename nor an options QDict can be generated. Another > idea would be to clear the filename in this case as it is probably > obsolete then. I was not sure which to pick, so I just used the first > version I wrote. To be honest, many things in this patch don't feel quite right. This isn't necessarily your fault, I can imagine that the infrastructure is just lacking the right properties for you to use. My hope is that soon bs->options would be the only BDS field keeping configuration information and that bs->filename would go away. Now with this patch series we get both of them duplicated instead. I'm not quite sure if this is progress, but it may still be an acceptable intermediate step. Kevin