From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37419) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1asUcC-0002Ie-KH for qemu-devel@nongnu.org; Tue, 19 Apr 2016 08:18:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1asUcB-0005CX-P9 for qemu-devel@nongnu.org; Tue, 19 Apr 2016 08:18:48 -0400 References: From: Ric Wheeler Message-ID: <5716221F.8010200@redhat.com> Date: Tue, 19 Apr 2016 08:18:39 -0400 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH for-2.6 v2 0/3] Bug fixes for gluster List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jeff Cody , qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, kwolf@redhat.com, pkarampu@redhat.com, rgowdapp@redhat.com, ndevos@redhat.com, Rik van Riel On 04/19/2016 08:07 AM, Jeff Cody wrote: > Bug fixes for gluster; third patch is to prevent > a potential data loss when trying to recover from > a recoverable error (such as ENOSPC). Hi Jeff, Just a note, I have been talking to some of the disk drive people here at LSF (the kernel summit for file and storage people) and got a non-public confirmation that individual storage devices (s-ata drives or scsi) can also dump cache state when a synchronize cache command fails. Also followed up with Rik van Riel - in the page cache in general, when we fail to write back dirty pages, they are simply marked "clean" (which means effectively that they get dropped). Long winded way of saying that I think that this scenario is not unique to gluster - any failed fsync() to a file (or block device) might be an indication of permanent data loss. Regards, Ric > > The final patch closes the gluster fd and sets the > protocol drv to NULL on fsync failure in gluster; > we have no way of knowing what gluster versions > support retaining fysnc cache on error, so until > we do the safest thing to do is invalidate the > drive. > > Jeff Cody (3): > block/gluster: return correct error value > block/gluster: code movement of qemu_gluster_close() > block/gluster: prevent data loss after i/o error > > block/gluster.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++----------- > configure | 8 +++++++ > 2 files changed, 62 insertions(+), 12 deletions(-) >