From patchwork Thu Apr 2 04:10:41 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eryu Guan X-Patchwork-Id: 6144211 Return-Path: X-Original-To: patchwork-fstests@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 7A5CBBF4A6 for ; Thu, 2 Apr 2015 04:10:50 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C337520382 for ; Thu, 2 Apr 2015 04:10:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 522C22034C for ; Thu, 2 Apr 2015 04:10:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750747AbbDBEKo (ORCPT ); Thu, 2 Apr 2015 00:10:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59542 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750702AbbDBEKo (ORCPT ); Thu, 2 Apr 2015 00:10:44 -0400 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 3740D293315; Thu, 2 Apr 2015 04:10:44 +0000 (UTC) Received: from localhost (vpn1-6-203.pek2.redhat.com [10.72.6.203]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t324Aglb008609; Thu, 2 Apr 2015 00:10:43 -0400 Date: Thu, 2 Apr 2015 12:10:41 +0800 From: Eryu Guan To: Dave Chinner Cc: Brian Foster , fstests@vger.kernel.org Subject: Re: [PATCH 6/9] generic: test I/O error path by fully filling dm snapshot Message-ID: <20150402041041.GF16808@dhcp-13-216.nay.redhat.com> References: <1426846618-23413-7-git-send-email-eguan@redhat.com> <1427896455-12048-1-git-send-email-eguan@redhat.com> <20150401175710.GF4756@bfoster.bfoster> <20150401222954.GF28621@dastard> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20150401222954.GF28621@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 Sender: fstests-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Thu, Apr 02, 2015 at 09:29:54AM +1100, Dave Chinner wrote: > On Wed, Apr 01, 2015 at 01:57:10PM -0400, Brian Foster wrote: > > On Wed, Apr 01, 2015 at 09:54:15PM +0800, Eryu Guan wrote: > > > xfs used to panic in this test, this xfs commit fix the bug > > > > > > 8d6c121 xfs: fix buffer use after free on IO error > > > > > > ext4 and btrfs trigger WARNING on current 4.0-rc3 kernel > > > > > > Signed-off-by: Eryu Guan > > > --- > > > v2: > > > - add _require_dm_snapshot() function to require dm snapshot target > > > - make sure SCRATCH_DEV has enough space for the test > > > - fail the test directly when failures detected in setup phase > > > > > > > FYI, the mail subject header hasn't changed so Dave might not notice > > this is a new patch. > > Saw it. > > > > +_mount /dev/mapper/$vgname-$snapname $mnt > > > + > > > +# write 5M data to the snapshot > > > +$XFS_IO_PROG -fc "pwrite 0 5m" $mnt/testfile >>$seqres.full 2>&1 > > > + > > > > I noticed there were no errors in $seqres.full when running this test. > > E.g., the pwrite succeeds because nothing is written back to disk at > > that point. The fs does shutdown due to the flush on umount, but it's > > kind of hidden away up in the _cleanup() function. > > > > Kind of a nit, but we could be a bit more explicit and do a '-c fsync' > > after the pwrite here? That way it's clear that writeback to disk is > > part of the core test and we have a little feedback in $seqres.full that > > I/O errors occurred, as expected. > > Added the -c fsync as I pulled it in. I was thinking about adding fsync or sync at first, but it causes problems in cleanup. For some reason(I don't know clearly) fsync sometimes pins the snapshot in use and vgremove can't remove all lvs, so SCRATCH_DEV is still used by the test vg when running next test our local _scratch_mkfs routine ... mkfs.xfs: cannot open /dev/sda6: Device or resource busy check: failed to mkfs $SCRATCH_DEV using specified options From 081.full I can see Logical volume vg_081/snap_081 contains a filesystem in use. The test vg/lv has to be removed manually after the test vgremove -f vg_081 I don't find a proper way to fix it yet, but simply adding 'sleep 1' before vgremove in _cleanup works for me [root@hp-dl388eg8-01 xfstests]# git diff Thanks, Eryu --- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/tests/generic/081 b/tests/generic/081 index 3e17d34..29b0240 100755 --- a/tests/generic/081 +++ b/tests/generic/081 @@ -36,6 +36,7 @@ _cleanup() rm -f $tmp.* # lvm may have umounted it on I/O error, but in case it does not $UMOUNT_PROG $mnt >/dev/null 2>&1 + sleep 1 $LVM_PROG vgremove -f $vgname >>$seqres.full 2>&1 $LVM_PROG pvremove -f $SCRATCH_DEV >>$seqres.full 2>&1 }