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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, master 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@xxxxxxxxx>
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@xxxxxxxxx>
    Reviewed-by: Jie Liu <jeff.liu@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit d4608632ec8f4ae3ffecdd343ede34e60eabc64f
Author: Eric Sandeen <sandeen@xxxxxxxxxx>
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@xxxxxxxxxx>
    Tested-by: Dave Jones <davej@xxxxxxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Reviewed-by: Mark Tinguely <tinguely@xxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

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

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

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


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux