All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xfs/444: add check for xfs_db write bno array
@ 2018-04-12 10:00 yang xu
  2018-04-12 12:09 ` Dave Chinner
  0 siblings, 1 reply; 14+ messages in thread
From: yang xu @ 2018-04-12 10:00 UTC (permalink / raw)
  To: fstests; +Cc: yang xu

On RHEL7.5Alpha, the test case can trigger an xfsprogs bug that xfs_db
writes bno array failed ,such as:
  $ xfs_db -x -c "agfl 0" -c "write bno[32] 78" /dev/sda9
    bno[32] = 32:null 33:null 34:null 35:null 36:null 37:null ...

the correct result as below:
    bno[32] = 78

On xfs/444 the following code triggers this bug:
    cat $tmp.remap | while read dest_pos bno junk; do
          _scratch_xfs_set_metadata_field "bno[$dest_pos]" "$bno" \
          "agfl 0" >> $seqres.full
       done

It is because xfs_db on RHEL7.5Alpha doesn't support write via array
indexing.  The problem has been fixed since xfprogs commit 4222d000ed
("db: write via array indexing doesn't work").  But the fix patch has
not been merged into RHEL7.5Alpha.

For users, they should know the reason for the failure of the test is
a filesystem bug or an xfsprogs bug.  So, we add check for xfs_db
write bno array.

Signed-off-by: yang xu <xuyang.jy@cn.fujitsu.com>
---
 tests/xfs/444 | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/tests/xfs/444 b/tests/xfs/444
index 141be52..fe80502 100755
--- a/tests/xfs/444
+++ b/tests/xfs/444
@@ -58,6 +58,22 @@ _require_test_program "punch-alternating"
 # This is only a v5 filesystem problem
 _require_scratch_xfs_crc
 
+check_xfs_db_write_bno_array() {
+	_scratch_xfs_set_metadata_field "bno[32]" "78" "agfl 0" >> $seqres.full
+
+	# Before xfsprogs commit 0ebbf1d58898 ("db: limit AGFL bno
+	# arrayi printing), When asking for a single agfl entry,
+	# the result outputs the entire remainder of the array
+	# starting at the given index.
+	# It is difficult to extract single entry values.
+	# So filter them.
+	bno2=$(_scratch_xfs_get_metadata_field "bno[32]" \
+		"agfl 0" |sed -e 's/ .*$//g' | sed -e 's/^.*://g')
+	echo "bno[32] set 78 get $bno2" >> $seqres.full
+
+	[ "${bno2}" != "78" ] && _fail "xfs_db write can't support bno array"
+}
+
 mount_loop() {
 	if ! _try_scratch_mount >> $seqres.full 2>&1; then
 		echo "scratch mount failed" >> $seqres.full
@@ -233,6 +249,10 @@ ENDL
 	diff -u $tmp.repair $tmp.remount >> $seqres.full
 }
 
+#Before xfsprogs commit 4222d000ed("db: write via array indexing doesn't work").
+#xfs_db command to write a specific AGFL index doesn't work. We should check it.
+check_xfs_db_write_bno_array
+
 runtest fix_end
 runtest fix_start
 runtest fix_wrap
-- 
1.8.3.1




^ permalink raw reply related	[flat|nested] 14+ messages in thread
* Re: [PATCH] xfs/444: add check for xfs_db write bno array
@ 2018-04-16  6:27 Xu, Yang
  0 siblings, 0 replies; 14+ messages in thread
From: Xu, Yang @ 2018-04-16  6:27 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests, Dave Chinner


On Fri, Apr 13, 2018 at 11:42:10PM +1000, Dave Chinner wrote:
> On Fri, Apr 13, 2018 at 12:36:12PM +0800, Eryu Guan wrote:
> OK, I got your point now, it's a bug in a diagnostic tool that is only used by XFS developers as a test infrastructure, so we can
> treat it as a infrastructure dependency as all other _require rules. I think that makes sense in this case. Thanks for 
> the explanation!

> yang xu, would you mind sending a v2 patch as Dave suggested? Thanks!

> Eryu
Hi Eryu
I will send a v2 patch as Dave suggested.

Thanks 
Yang Xu

> 
> Yes, it's ialso fixed in recent version of xfsprogs, but you know very 
> well that we test distros that have ancient xfsprogs and will never 
> have this issue fixed in them. We use detectiona nd notrun to avoid 
> tests they should not run all the time, and I don't see how this is 
> any different.
> 
> I really don't understand why you are pushing back on this - why 
> should this specific infrastructure deficiency cause test failures, 
> when all the existing infrastructure support checks cause tests to 
> notrun rather than fail?
> 
> Cheers,
> 
> Dave.
> --
> Dave Chinner
> david@fromorbit.com





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

end of thread, other threads:[~2018-04-18  4:29 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-12 10:00 [PATCH] xfs/444: add check for xfs_db write bno array yang xu
2018-04-12 12:09 ` Dave Chinner
2018-04-12 13:00   ` Eryu Guan
2018-04-12 23:00     ` Dave Chinner
2018-04-13  4:36       ` Eryu Guan
2018-04-13 13:42         ` Dave Chinner
2018-04-16  6:00           ` Eryu Guan
2018-04-16  9:07             ` [PATCH v2] common/xfs: Add require_xfs_db_write_array function yang xu
2018-04-16 17:22               ` Darrick J. Wong
     [not found]                 ` <5AD5721C.10709@cn.fujitsu.com>
2018-04-17  4:06                   ` Darrick J. Wong
2018-04-17  6:11                     ` [PATCH v3] " yang xu
2018-04-17 17:59                       ` Darrick J. Wong
2018-04-18  4:29                         ` Eryu Guan
2018-04-16  6:27 [PATCH] xfs/444: add check for xfs_db write bno array Xu, Yang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.