All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Tinguely <tinguely@sgi.com>
To: xfs@oss.sgi.com
Subject: [PATCH v2 0/3] discontiguous buffer patches
Date: Wed, 28 Nov 2012 16:23:09 -0600	[thread overview]
Message-ID: <20121128222309.109033307@.sgi.com> (raw)

Eric Sundeen's "userspace vs. fragmented multiblock dir2", xfstest 291
commit 2a4ed, causes a xfs_buf lock hang:

[<ffffffff81065d87>] down+0x47/0x50
[<ffffffffa03a25c6>] xfs_buf_lock+0x66/0xe0 [xfs]
[<ffffffffa03a33c9>] _xfs_buf_find+0x1f9/0x320 [xfs]
[<ffffffffa03a393f>] xfs_buf_get_map+0x2f/0x170 [xfs]
[<ffffffffa03a3f7a>] xfs_buf_read_map+0x2a/0x100 [xfs]
[<ffffffffa0411630>] xfs_trans_read_buf_map+0x3b0/0x590 [xfs]
[<ffffffffa03e1c5e>] xfs_da_read_buf+0xbe/0x230 [xfs]
[<ffffffffa03e78dc>] xfs_dir2_block_addname+0x7c/0x980 [xfs]
[<ffffffffa03f1468>] xfs_dir2_sf_addname+0x3e8/0x450 [xfs]
[<ffffffffa03e634c>] xfs_dir_createname+0x17c/0x1e0 [xfs]
[<ffffffffa03b9fe2>] xfs_create+0x4c2/0x5f0 [xfs]
[<ffffffffa03b0c8a>] xfs_vn_mknod+0x8a/0x1a0 [xfs]
[<ffffffffa03b0dce>] xfs_vn_create+0xe/0x10 [xfs]
[<ffffffff8115695c>] vfs_create+0xac/0xd0
[<ffffffff811587de>] do_last+0x8be/0x960
[<ffffffff8115940c>] path_openat+0xdc/0x410
[<ffffffff81159853>] do_filp_open+0x43/0xa0
[<ffffffff8114a502>] do_sys_open+0x152/0x1e0
[<ffffffff8114a5cc>] sys_open+0x1c/0x20
[<ffffffff81423df9>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff

That bisect a problem to the discontiguous xfs_buf support series. 
xfs_trans_buf_item_match() is looking for the block number of the
buffer in the single segment map area. After fixing the b_map issue,
there were couple asserts associated with the buffer log format
not correctly using the bli_formats[] structure.

Changes to the series from version 1:

Patch 1: Moved b_map structure to __b_map to avoid future confusion
	  per Christoph's suggestion.

Patch 2: Moved bli_format structure to __bli_format to avoid future
	  confusion per Christoph's suggestion.

	 Removed the buffer XFS_TRANS_DEBUG routines per Dave's suggestion.

Patch 3: Moved the detection of an empty format to a new file and
	  add parenthesis per Dave's suggestion.

	 Cleared all buffer log formats per Dave's suggestion.

--Mark.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

             reply	other threads:[~2012-11-28 22:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-28 22:23 Mark Tinguely [this message]
2012-11-28 22:23 ` [PATCH v2 1/3] xfs: use b_maps[] for discontiguous buffers Mark Tinguely
2012-11-30 16:09   ` Christoph Hellwig
2012-11-30 17:55     ` Mark Tinguely
2012-11-30 22:21       ` Dave Chinner
2012-11-30 23:09         ` Christoph Hellwig
2012-11-30 22:18     ` Dave Chinner
2012-12-02 23:31   ` Dave Chinner
2012-11-28 22:23 ` [PATCH v2 2/3] xfs: fix the buffer log format for contiguous buffers Mark Tinguely
2012-12-02 23:46   ` Dave Chinner
2012-11-28 22:23 ` [PATCH v2 3/3] xfs: fix the multi-segment log buffer format Mark Tinguely
2012-11-30 23:14   ` Christoph Hellwig
2012-12-02 23:52   ` Dave Chinner

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=20121128222309.109033307@.sgi.com \
    --to=tinguely@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 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.