From patchwork Wed May 11 07:10:41 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Attempt to sync the fsstress writes to a frozen F.S Date: Tue, 10 May 2011 21:10:41 -0000 From: Surbhi Palande X-Patchwork-Id: 95177 Message-Id: <1305097841-2308-1-git-send-email-surbhi.palande@canonical.com> To: sandeen@redhat.com Cc: jack@suse.cz, marco.stornelli@gmail.com, adilger.kernel@dilger.ca, toshi.okajima@jp.fujitsu.com, tytso@mit.edu, m.mizuma@jp.fujitsu.com, linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org While the fsstress background writes are busy dirtying the page cache, if a fsfreeze happens then the background writes should stall. A sync should then not have any data to sync to the FS. If it does have any data to sync then sync will cause a deadlock by holding the s_umount write semaphore and waiting in the wait queue for the FS to thaw, whereas the F.S can never thaw without getting the s_umount write semaphore. Signed-off-by: Surbhi Palande --- 068 | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/068 b/068 index 82c1a4e..b9ac58d 100755 --- a/068 +++ b/068 @@ -101,6 +101,11 @@ do tee -a $seq.full sleep 2 + # there should be nothing to sync at this point. This may hang in case + # of fsstress background writes dirtying the page cache while the F.S is frozen + sync & + sleep 2 + echo "*** thawing \$SCRATCH_MNT" | tee -a $seq.full xfs_freeze -u "$SCRATCH_MNT" | tee -a $seq.full [ $? != 0 ] && echo xfs_freeze -u "$SCRATCH_MNT" failed | \