[XFS updates] XFS development tree branch, for-next, updated. v3.8-rc1-10-ga17164e

xfs at oss.sgi.com xfs at oss.sgi.com
Sun Jan 13 14:45:56 CST 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "XFS development tree".

The branch, for-next has been updated
  a17164e fs/xfs remove obsolete simple_strto<foo>
  d460863 xfs: recalculate leaf entry pointer after compacting a dir2 block
      from  83a9ba00573904953c58565226f1d3bab9f10983 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a17164e54bf0e3c2cbc72c35b9f67c2873a122dd
Author: Abhijit Pawar <abhi.c.pawar at gmail.com>
Date:   Wed Jan 9 19:34:42 2013 +0530

    fs/xfs remove obsolete simple_strto<foo>
    
    This patch replaces usages of obsolete simple_strtoul with kstrtoint in
    xfs_args and suffix_strtoul.
    
    Signed-off-by: Abhijit Pawar <abhi.c.pawar at gmail.com>
    Reviewed-by: Jie Liu <jeff.liu at oracle.com>
    Signed-off-by: Ben Myers <bpm at sgi.com>

commit d4608632ec8f4ae3ffecdd343ede34e60eabc64f
Author: Eric Sandeen <sandeen at redhat.com>
Date:   Thu Jan 10 10:41:48 2013 -0600

    xfs: recalculate leaf entry pointer after compacting a dir2 block
    
    Dave Jones hit this assert when doing a compile on recent git, with
    CONFIG_XFS_DEBUG enabled:
    
    XFS: Assertion failed: (char *)dup - (char *)hdr == be16_to_cpu(*xfs_dir2_data_unused_tag_p(dup)), file: fs/xfs/xfs_dir2_data.c, line: 828
    
    Upon further digging, the tag found by xfs_dir2_data_unused_tag_p(dup)
    contained "2" and not the proper offset, and I found that this value was
    changed after the memmoves under "Use a stale leaf for our new entry."
    in xfs_dir2_block_addname(), i.e.
    
                            memmove(&blp[mid + 1], &blp[mid],
                                    (highstale - mid) * sizeof(*blp));
    
    overwrote it.
    
    What has happened is that the previous call to xfs_dir2_block_compact()
    has rearranged things; it changes btp->count as well as the
    blp array.  So after we make that call, we must recalculate the
    proper pointer to the leaf entries by making another call to
    xfs_dir2_block_leaf_p().
    
    Dave provided a metadump image which led to a simple reproducer
    (create a particular filename in the affected directory) and this
    resolves the testcase as well as the bug on his live system.
    
    Thanks also to dchinner for looking at this one with me.
    
    Signed-off-by: Eric Sandeen <sandeen at redhat.com>
    Tested-by: Dave Jones <davej at redhat.com>
    Reviewed-by: Dave Chinner <dchinner at redhat.com>
    Reviewed-by: Mark Tinguely <tinguely at sgi.com>
    Signed-off-by: Ben Myers <bpm at sgi.com>

-----------------------------------------------------------------------

Summary of changes:
 fs/xfs/xfs_dir2_block.c |    6 ++++--
 fs/xfs/xfs_super.c      |   29 +++++++++++++++++++----------
 2 files changed, 23 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
XFS development tree



More information about the xfs mailing list