From: Dave Chinner <david@fromorbit.com>
To: Ben Myers <bpm@sgi.com>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 00/10] xfs: discontiguous buffer support a.k.a. die xfs_dabuf die
Date: Wed, 23 May 2012 19:27:46 +1000 [thread overview]
Message-ID: <20120523092746.GM25351@dastard> (raw)
In-Reply-To: <20120516174042.GJ16099@sgi.com>
On Wed, May 16, 2012 at 12:40:42PM -0500, Ben Myers wrote:
> Hey Dave,
>
> Looks like there are some additional test failures due to this patchset. Here
> some output from a bisect I did yesterday, running only the tests which failed
> on the machine where I noticed this.
So what the configuration you are testing on here?
....
>
> # git describe
> v3.4-rc2-54-g1307bbd
That's mostly meaningless to me - you've got a 3.4-rc2 kernel with
54 local commits in it.
> from patches/series:
> # normal: (there's my baseline on this machine. I noticed a larger number of test failures on another test box and brought that series over here)
> #Failures: 030 178 230 231 232 233 250 274
> #Failed 8 of 198 tests
......
>
> xfs-fix-delalloc-quota-accounting-on-failure.patch
> xfs-fix-memory-reclaim-deadlock-on-agi-buffer.patch
> xfs-add-trace-points-for-log-forces.patch
> xfs-separate-buffer-indexing-from-block-map.patch
> xfs-convert-internal-buffer-functions-to-pass-maps.patch
> xfs-add-discontiguous-buffer-map-interface.patch
> xfs-add-discontiguous-buffer-support-to-transactions.patch
>
> # ^^^ bisect 1, went ok.
> # 030 050 085 086 087 121 128 179 182 200 230 231 232 233 235
> # Failures: 030 230 231 232 233
> # Failed 5 of 15 tests
> # ^^^ bisect 4, making sure it's good
> #Ran: 030 050 085 086 087 121 128 179 182 200 230 231 232 233 235
> #Failures: 030 230 231 232 233
> #Failed 5 of 15 tests
>
> xfs-struct-xfs_buf_log_format-isn-t-variable-sized.patch
>
> # ^^^ bisect 5, crashed. (consistently)
>
> xfs-support-discontiguous-buffers-in-the.patch
>
> # ^^^ bisect 6
> #Ran: 030 050 085 086 087 121 128 179 182 200 230 231 232 233 235
> #Failures: 030 085 086 087 121 179 182 200 230 231 232 233
> #Failed 12 of 15 tests
So, 085 086 087 121 179 182 200 are all log recovery tests.....
So what are the failures? This doesn't tell me anything about why
these have failed, and the last set of test runs I did before
posting this series showed:
Failures: 030 050 073 249 250 263
Failed 6 of 197 tests
Which is standard for my 4k filesystem block size testing.
> Looks like there is a problem in
> xfs-struct-xfs_buf_log_format-isn-t-variable-sized.patch,
Given the crashes, this is the likely cause of the problem.
Especially as the version of the patch in this series is missing a
critical hunk compared to the local patch I have been testing which
would cause memcpy() to fall off the end of allocated memory
buffers....
--- a/fs/xfs/xfs_buf_item.c
+++ b/fs/xfs/xfs_buf_item.c
@@ -240,15 +240,14 @@ xfs_buf_item_format(
(bip->bli_flags & XFS_BLI_STALE));
/*
- * The size of the base structure is the size of the
- * declared structure plus the space for the extra words
- * of the bitmap. We subtract one from the map size, because
- * the first element of the bitmap is accounted for in the
- * size of the base structure.
+ * Base size is the actual size of the ondisk structure - it reflects
+ * the actual size of the dirty bitmap rather than the size of the in
+ * memory structure. The xfs_buf_log_format size is the maximum,
+ * subtract the unused part of the bitmap from it.
*/
- base_size =
- (uint)(sizeof(xfs_buf_log_format_t) +
- ((bip->bli_format.blf_map_size - 1) * sizeof(uint)));
+ base_size = sizeof(struct xfs_buf_log_format) -
+ ((XFS_BLF_DATAMAP_SIZE - bip->bli_format.blf_map_size) *
+ sizeof(uint));
vecp->i_addr = &bip->bli_format;
vecp->i_len = base_size;
vecp->i_type = XLOG_REG_TYPE_BFORMAT;
I'll retest the series and repost it.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2012-05-23 9:28 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-24 6:33 [PATCH 00/10] xfs: discontiguous buffer support a.k.a. die xfs_dabuf die Dave Chinner
2012-04-24 6:33 ` [PATCH 01/10] xfs: add trace points for log forces Dave Chinner
2012-04-30 19:25 ` Mark Tinguely
2012-04-24 6:33 ` [PATCH 02/10] xfs: separate buffer indexing from block map Dave Chinner
2012-04-30 19:28 ` Mark Tinguely
2012-04-30 23:24 ` Dave Chinner
2012-05-01 13:16 ` Mark Tinguely
2012-05-02 1:16 ` Dave Chinner
2012-04-24 6:33 ` [PATCH 03/10] xfs: convert internal buffer functions to pass maps Dave Chinner
2012-05-01 15:13 ` Mark Tinguely
2012-04-24 6:33 ` [PATCH 04/10] xfs: add discontiguous buffer map interface Dave Chinner
2012-05-01 18:10 ` Mark Tinguely
2012-04-24 6:33 ` [PATCH 05/10] xfs: add discontiguous buffer support to transactions Dave Chinner
2012-05-03 19:41 ` Mark Tinguely
2012-04-24 6:33 ` [PATCH 06/10] xfs: struct xfs_buf_log_format isn't variable sized Dave Chinner
2012-05-02 13:39 ` Mark Tinguely
2012-04-24 6:33 ` [PATCH 07/10] xfs: support discontiguous buffers in the xfs_buf_log_item Dave Chinner
2012-05-03 19:42 ` Mark Tinguely
2012-04-24 6:33 ` [PATCH 08/10] xfs: use multiple irec xfs buf support in dabuf Dave Chinner
2012-05-03 19:43 ` Mark Tinguely
2012-04-24 6:33 ` [PATCH 09/10] xfs: remove struct xfs_dabuf and infrastructure Dave Chinner
2012-05-04 19:54 ` Mark Tinguely
2012-04-24 6:33 ` [PATCH 10/10] xfs: factor buffer reading from xfs_dir2_leaf_getdents Dave Chinner
2012-05-04 12:42 ` Mark Tinguely
2012-05-16 17:40 ` [PATCH 00/10] xfs: discontiguous buffer support a.k.a. die xfs_dabuf die Ben Myers
2012-05-23 9:27 ` Dave Chinner [this message]
2012-05-30 14:48 ` Ben Myers
2012-05-30 19:48 ` Ben Myers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120523092746.GM25351@dastard \
--to=david@fromorbit.com \
--cc=bpm@sgi.com \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox