linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] btrfs-progs: fsck-tests: verify 'btrfs check --repair' fixes corrupted nlink field
@ 2017-02-02  8:05 Lakshmipathi.G
  2017-03-30 15:52 ` David Sterba
  0 siblings, 1 reply; 3+ messages in thread
From: Lakshmipathi.G @ 2017-02-02  8:05 UTC (permalink / raw)
  To: quwenruo, dsterba, linux-btrfs

Signed-off-by: Lakshmipathi.G <Lakshmipathi.G@giis.co.in>
---
 tests/fsck-tests/026-check-inode-link/test.sh | 30 +++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100755 tests/fsck-tests/026-check-inode-link/test.sh

diff --git a/tests/fsck-tests/026-check-inode-link/test.sh b/tests/fsck-tests/026-check-inode-link/test.sh
new file mode 100755
index 0000000..6822ee2
--- /dev/null
+++ b/tests/fsck-tests/026-check-inode-link/test.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+# verify that 'btrfs check --repair' fixes corrupted inode nlink field
+
+source $TOP/tests/common
+
+check_prereq btrfs-corrupt-block
+check_prereq mkfs.btrfs
+
+setup_root_helper
+prepare_test_dev 512M
+
+test_inode_nlink_field()
+{
+	run_check $SUDO_HELPER $TOP/mkfs.btrfs -f $TEST_DEV
+
+	run_check_mount_test_dev
+	run_check $SUDO_HELPER touch $TEST_MNT/test_nlink.txt
+
+	# find inode_number
+	inode_number=`stat -c%i $TEST_MNT/test_nlink.txt`
+	run_check_umount_test_dev
+
+	# corrupt nlink field of inode object
+        run_check $SUDO_HELPER $TOP/btrfs-corrupt-block -i $inode_number \
+		-f nlink $TEST_DEV
+
+	check_image $TEST_DEV
+}
+
+test_inode_nlink_field
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] btrfs-progs: fsck-tests: verify 'btrfs check --repair' fixes corrupted nlink field
  2017-02-02  8:05 [PATCH v3] btrfs-progs: fsck-tests: verify 'btrfs check --repair' fixes corrupted nlink field Lakshmipathi.G
@ 2017-03-30 15:52 ` David Sterba
  2017-04-15  9:09   ` Lakshmipathi.G
  0 siblings, 1 reply; 3+ messages in thread
From: David Sterba @ 2017-03-30 15:52 UTC (permalink / raw)
  To: Lakshmipathi.G; +Cc: quwenruo, dsterba, linux-btrfs

On Thu, Feb 02, 2017 at 01:35:02PM +0530, Lakshmipathi.G wrote:
> Signed-off-by: Lakshmipathi.G <Lakshmipathi.G@giis.co.in>
> ---
>  tests/fsck-tests/026-check-inode-link/test.sh | 30 +++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>  create mode 100755 tests/fsck-tests/026-check-inode-link/test.sh
> 
> diff --git a/tests/fsck-tests/026-check-inode-link/test.sh b/tests/fsck-tests/026-check-inode-link/test.sh
> new file mode 100755
> index 0000000..6822ee2
> --- /dev/null
> +++ b/tests/fsck-tests/026-check-inode-link/test.sh
> @@ -0,0 +1,30 @@
> +#!/bin/bash
> +# verify that 'btrfs check --repair' fixes corrupted inode nlink field
> +
> +source $TOP/tests/common
> +
> +check_prereq btrfs-corrupt-block
> +check_prereq mkfs.btrfs
> +
> +setup_root_helper
> +prepare_test_dev 512M

Please use default size unless you really need 512M for the test
purposes.

> +
> +test_inode_nlink_field()
> +{
> +	run_check $SUDO_HELPER $TOP/mkfs.btrfs -f $TEST_DEV
> +
> +	run_check_mount_test_dev
> +	run_check $SUDO_HELPER touch $TEST_MNT/test_nlink.txt
> +
> +	# find inode_number
> +	inode_number=`stat -c%i $TEST_MNT/test_nlink.txt`
> +	run_check_umount_test_dev
> +
> +	# corrupt nlink field of inode object
> +        run_check $SUDO_HELPER $TOP/btrfs-corrupt-block -i $inode_number \
> +		-f nlink $TEST_DEV
> +
> +	check_image $TEST_DEV

The wrapper runs a pre-check that must detect errors, then runs --repair
and then again a plain check. Is this intended here?

I think we should try to mount the fixed image again and read the file
or check link count.

Please add shell quotation around all variables.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] btrfs-progs: fsck-tests: verify 'btrfs check --repair' fixes corrupted nlink field
  2017-03-30 15:52 ` David Sterba
@ 2017-04-15  9:09   ` Lakshmipathi.G
  0 siblings, 0 replies; 3+ messages in thread
From: Lakshmipathi.G @ 2017-04-15  9:09 UTC (permalink / raw)
  To: David Sterba; +Cc: linux-btrfs

On Thu, Mar 30, 2017 at 05:52:11PM +0200, David Sterba wrote:
> On Thu, Feb 02, 2017 at 01:35:02PM +0530, Lakshmipathi.G wrote:
> > Signed-off-by: Lakshmipathi.G <Lakshmipathi.G@giis.co.in>
> > ---
> >  tests/fsck-tests/026-check-inode-link/test.sh | 30 +++++++++++++++++++++++++++
> >  1 file changed, 30 insertions(+)
> >  create mode 100755 tests/fsck-tests/026-check-inode-link/test.sh
> > 
> > diff --git a/tests/fsck-tests/026-check-inode-link/test.sh b/tests/fsck-tests/026-check-inode-link/test.sh
> > new file mode 100755
> > index 0000000..6822ee2
> > --- /dev/null
> > +++ b/tests/fsck-tests/026-check-inode-link/test.sh
> > @@ -0,0 +1,30 @@
> > +#!/bin/bash
> > +# verify that 'btrfs check --repair' fixes corrupted inode nlink field
> > +
> > +source $TOP/tests/common
> > +
> > +check_prereq btrfs-corrupt-block
> > +check_prereq mkfs.btrfs
> > +
> > +setup_root_helper
> > +prepare_test_dev 512M
> 
> Please use default size unless you really need 512M for the test
> purposes.
> 
> > +
> > +test_inode_nlink_field()
> > +{
> > +	run_check $SUDO_HELPER $TOP/mkfs.btrfs -f $TEST_DEV
> > +
> > +	run_check_mount_test_dev
> > +	run_check $SUDO_HELPER touch $TEST_MNT/test_nlink.txt
> > +
> > +	# find inode_number
> > +	inode_number=`stat -c%i $TEST_MNT/test_nlink.txt`
> > +	run_check_umount_test_dev
> > +
> > +	# corrupt nlink field of inode object
> > +        run_check $SUDO_HELPER $TOP/btrfs-corrupt-block -i $inode_number \
> > +		-f nlink $TEST_DEV
> > +
> > +	check_image $TEST_DEV
> 
> The wrapper runs a pre-check that must detect errors, then runs --repair
> and then again a plain check. Is this intended here?
> 
Yes its intentional. The test should fail, if its unable to detect the corruption.
This is to ensure btrfs-corrupt-block -f nlink works as expected.
> I think we should try to mount the fixed image again and read the file
> or check link count.
> 
Right, I missed the verification part, will added this and change prepare_test_dev 
to default size.
> Please add shell quotation around all variables.
Now quotation is added.

Cheers.
Lakshmipathi.G

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-04-15  9:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-02  8:05 [PATCH v3] btrfs-progs: fsck-tests: verify 'btrfs check --repair' fixes corrupted nlink field Lakshmipathi.G
2017-03-30 15:52 ` David Sterba
2017-04-15  9:09   ` Lakshmipathi.G

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).