From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36452) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUfl4-0001iU-9r for qemu-devel@nongnu.org; Wed, 26 Aug 2015 14:49:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZUfl0-0006fu-CN for qemu-devel@nongnu.org; Wed, 26 Aug 2015 14:49:14 -0400 Received: from mx-v6.kamp.de ([2a02:248:0:51::16]:60423 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUfl0-0006fZ-16 for qemu-devel@nongnu.org; Wed, 26 Aug 2015 14:49:10 -0400 Message-ID: <55DE0A22.1020302@kamp.de> Date: Wed, 26 Aug 2015 20:49:06 +0200 From: Peter Lieven MIME-Version: 1.0 References: <1440403565-27432-1-git-send-email-pl@kamp.de> <55DB64CC.2040207@redhat.com> <55DB71BD.3080402@kamp.de> <55DB7ADC.1010109@redhat.com> <20150826153117.GH11016@localhost.localdomain> In-Reply-To: <20150826153117.GH11016@localhost.localdomain> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCHv2] block/nfs: cache allocated filesize for read-only files List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jeff Cody , Max Reitz Cc: kwolf@redhat.com, qemu-devel@nongnu.org, qemu-block@nongnu.org Am 26.08.2015 um 17:31 schrieb Jeff Cody: > On Mon, Aug 24, 2015 at 10:13:16PM +0200, Max Reitz wrote: >> On 24.08.2015 21:34, Peter Lieven wrote: >>> Am 24.08.2015 um 20:39 schrieb Max Reitz: >>>> On 24.08.2015 10:06, Peter Lieven wrote: >>>>> If the file is readonly its not expected to grow so >>>>> save the blocking call to nfs_fstat_async and use >>>>> the value saved at connection time. Also important >>>>> the monitor (and thus the main loop) will not hang >>>>> if block device info is queried and the NFS share >>>>> is unresponsive. >>>>> >>>>> Signed-off-by: Peter Lieven >>>>> --- >>>>> v1->v2: update cache on reopen_prepare [Max] >>>>> >>>>> block/nfs.c | 35 +++++++++++++++++++++++++++++++++++ >>>>> 1 file changed, 35 insertions(+) >>>> Reviewed-by: Max Reitz >>>> >>>> I hope you're ready for the "Stale actual-size value with >>>> cache=direct,read-only=on,format=raw files on NFS" reports. :-) >>> actually a good point, maybe the cache should only be used if >>> >>> !(bs->open_flags & BDRV_O_NOCACHE) >> Good enough a point to fix it? ;-) >> >> Max >> > It seems more inline with expected behavior, to add the cache checking > in before using the size cache. Would you be opposed to a v3 with > this check added in? Of course, will send it tomorrow. > > One other concern I have is similar to a concern Max raised earlier - > about an external program modifying the raw image, while QEMU has it > opened r/o. In particular, I wonder about an NFS server making an > image either sparse / non-sparse. If it was exported read-only, it > may be a valid assumption that this could be done safely, as it would > not change the reported file size or contents, just the allocated size > on disk. This might be a use case. But if I allow caching the allocated filesize might not always be correct. This is even the case on a NFS share mounted through the kernel where some attributes a cached for some time. Anyway, would it hurt here if the actual filesize was too small? In fact it was incorrect since libnfs support was added :-) Peter