[lkml]   [2012]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: linux-next: build failure after merge of the xfs tree
    On Thu, May 10, 2012 at 01:01:34PM +1000, Stephen Rothwell wrote:
    > After merging the xfs tree, today's linux-next build (powerpc
    > ppc64_defconfig) failed like this:
    > ERROR: ".xfs_extent_busy_trim" [fs/xfs/xfs.ko] undefined!
    > Caused by commit e459df5b5b93 ("xfs: move busy extent handling to it's
    > own file") (and aided by 425dcd6c2289 "xfs: clean up busy extent naming").
    > I have used the xfs tree from next-20120508 for today.

    Thanks Stephen. The following should resolve the issue.


    xfs: make xfs_extent_busy_trim not static

    Commit e459df5, 'xfs: move busy extent handling to it's own file'
    moved some code from xfs_alloc.c into xfs_extent_busy.c for
    convenience in userspace code merges. One of the functions moved is
    xfs_extent_busy_trim (formerly xfs_alloc_busy_trim) which is defined
    STATIC. Unfortunately this function is still used in xfs_alloc.c, and
    this results in an undefined symbol in xfs.ko.

    Make xfs_extent_busy_trim not static and add its prototype to

    Signed-off-by: Ben Myers <>

    Index: xfs/fs/xfs/xfs_alloc.c
    --- xfs.orig/fs/xfs/xfs_alloc.c
    +++ xfs/fs/xfs/xfs_alloc.c
    @@ -47,8 +47,6 @@ STATIC int xfs_alloc_ag_vextent_near(xfs
    STATIC int xfs_alloc_ag_vextent_size(xfs_alloc_arg_t *);
    STATIC int xfs_alloc_ag_vextent_small(xfs_alloc_arg_t *,
    xfs_btree_cur_t *, xfs_agblock_t *, xfs_extlen_t *, int *);
    -STATIC void xfs_extent_busy_trim(struct xfs_alloc_arg *,
    - xfs_agblock_t, xfs_extlen_t, xfs_agblock_t *, xfs_extlen_t *);

    * Lookup the record equal to [bno, len] in the btree given by cur.
    Index: xfs/fs/xfs/xfs_extent_busy.c
    --- xfs.orig/fs/xfs/xfs_extent_busy.c
    +++ xfs/fs/xfs/xfs_extent_busy.c
    @@ -345,7 +345,7 @@ restart:
    * args->minlen no suitable extent could be found, and the higher level
    * code needs to force out the log and retry the allocation.
    -STATIC void
    struct xfs_alloc_arg *args,
    xfs_agblock_t bno,
    Index: xfs/fs/xfs/xfs_extent_busy.h
    --- xfs.orig/fs/xfs/xfs_extent_busy.h
    +++ xfs/fs/xfs/xfs_extent_busy.h
    @@ -54,6 +54,10 @@ void
    xfs_extent_busy_reuse(struct xfs_mount *mp, xfs_agnumber_t agno,
    xfs_agblock_t fbno, xfs_extlen_t flen, bool userdata);

    +xfs_extent_busy_trim(struct xfs_alloc_arg *args, xfs_agblock_t bno,
    + xfs_extlen_t len, xfs_agblock_t *rbno, xfs_extlen_t *rlen);
    xfs_extent_busy_ag_cmp(void *priv, struct list_head *a, struct list_head *b);

     \ /
      Last update: 2012-05-10 20:41    [W:0.046 / U:5.828 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site