From patchwork Fri Aug 19 08:13:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qu Wenruo X-Patchwork-Id: 9289767 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4D29E607FF for ; Fri, 19 Aug 2016 08:14:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 408C929329 for ; Fri, 19 Aug 2016 08:14:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3538529335; Fri, 19 Aug 2016 08:14:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5F33529334 for ; Fri, 19 Aug 2016 08:14:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754284AbcHSIOg (ORCPT ); Fri, 19 Aug 2016 04:14:36 -0400 Received: from cn.fujitsu.com ([59.151.112.132]:28015 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1753614AbcHSIOe (ORCPT ); Fri, 19 Aug 2016 04:14:34 -0400 X-IronPort-AV: E=Sophos;i="5.22,518,1449504000"; d="scan'208";a="10077015" Received: from unknown (HELO cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 19 Aug 2016 16:13:21 +0800 Received: from G08CNEXCHPEKD02.g08.fujitsu.local (unknown [10.167.33.83]) by cn.fujitsu.com (Postfix) with ESMTP id 2B98342BC52D for ; Fri, 19 Aug 2016 16:13:17 +0800 (CST) Received: from adam-work.localdomain (10.167.226.34) by G08CNEXCHPEKD02.g08.fujitsu.local (10.167.33.89) with Microsoft SMTP Server (TLS) id 14.3.279.2; Fri, 19 Aug 2016 16:13:17 +0800 From: Qu Wenruo To: Subject: [PATCH 2/4] btrfs-progs: convert-test: Check if the ext2_save/image is read only Date: Fri, 19 Aug 2016 16:13:06 +0800 Message-ID: <20160819081308.21348-3-quwenruo@cn.fujitsu.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20160819081308.21348-1-quwenruo@cn.fujitsu.com> References: <20160819081308.21348-1-quwenruo@cn.fujitsu.com> MIME-Version: 1.0 X-Originating-IP: [10.167.226.34] X-yoursite-MailScanner-ID: 2B98342BC52D.AF4C5 X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: quwenruo@cn.fujitsu.com Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Old convert codes uses both 0400 permission and INODE_READONLY flag to make the converted ext2 image readonly. While new convert treat the inode just as normal inode, with no special inode flag and uses 0600 permission. This makes user able to modify converted image unintentionally and make rollback fails. This test case will test the regression. Signed-off-by: Qu Wenruo --- tests/convert-tests/008-readonly-image/test.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 tests/convert-tests/008-readonly-image/test.sh diff --git a/tests/convert-tests/008-readonly-image/test.sh b/tests/convert-tests/008-readonly-image/test.sh new file mode 100755 index 0000000..4e42237 --- /dev/null +++ b/tests/convert-tests/008-readonly-image/test.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# Check if the converted ext2 image is readonly + +source $TOP/tests/common +source $TOP/tests/common.convert + +setup_root_helper +prepare_test_dev 512M +check_prereq btrfs-convert + +default_mke2fs="mke2fs -t ext4 -b 4096" +convert_test_preamble '' 'readonly image test' 16k "$default_mke2fs" +convert_test_prep_fs $default_mke2fs +run_check_umount_test_dev +convert_test_do_convert +run_check_mount_test_dev + +# It's expected to fail +$SUDO_HELPER dd if=/dev/zero of=$TEST_MNT/ext2_save/image bs=1M count=1 \ + &> /dev/null +if [ $? -ne 1 ]; then + echo "after convert ext2_save/image is not read-only" + exit 1 +fi +run_check_umount_test_dev +convert_test_post_rollback