From: Nathan Scott Date: Mon, 6 May 2002 05:37:19 +0000 (+0000) Subject: add to LDIRT macro a couple of missing generated files. X-Git-Tag: v2.1.0~32 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=99ec8857aa73381e45b69b81225f22b332382c91;p=thirdparty%2Fxfsprogs-dev.git add to LDIRT macro a couple of missing generated files. --- diff --git a/Makefile b/Makefile index c877f251e..cf7802390 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,7 @@ CONFIGURE = configure include/builddefs include/platform_defs.h LSRCFILES = configure configure.in Makepkgs install-sh README VERSION LDIRT = config.log config.status config.cache confdefs.h conftest* \ - Logs/* install.* install-dev.* *.gz + Logs/* built .census install.* install-dev.* *.gz SUBDIRS = include libxfs libxlog libhandle libdisk \ bmap db freeze fsck growfs imap logprint mkfile mkfs repair rtcp \ diff --git a/libxfs/xfs_alloc.c b/libxfs/xfs_alloc.c index c4caa7f09..d811e8f26 100644 --- a/libxfs/xfs_alloc.c +++ b/libxfs/xfs_alloc.c @@ -2293,8 +2293,8 @@ xfs_alloc_vextent( * Loop over allocation groups twice; first time with * trylock set, second time without. */ + mrlock(&mp->m_peraglock, MR_ACCESS, PINOD); for (;;) { - mrlock(&mp->m_peraglock, MR_ACCESS, PINOD); args->pag = &mp->m_perag[args->agno]; if ((error = xfs_alloc_fix_freelist(args, flags))) { TRACE_ALLOC("nofix", args); @@ -2306,10 +2306,8 @@ xfs_alloc_vextent( if (args->agbp) { if ((error = xfs_alloc_ag_vextent(args))) goto error0; - mrunlock(&mp->m_peraglock); break; } - mrunlock(&mp->m_peraglock); TRACE_ALLOC("loopfailed", args); /* * Didn't work, figure out the next iteration. @@ -2337,6 +2335,7 @@ xfs_alloc_vextent( } } } + mrunlock(&mp->m_peraglock); if (bump_rotor || (type == XFS_ALLOCTYPE_ANY_AG)) mp->m_agfrotor = (args->agno + 1) % mp->m_sb.sb_agcount; break; diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c index 680c8b25c..49aa37611 100644 --- a/libxfs/xfs_ialloc.c +++ b/libxfs/xfs_ialloc.c @@ -385,13 +385,12 @@ xfs_ialloc_ag_select( */ agno = pagno; flags = XFS_ALLOC_FLAG_TRYLOCK; + mraccess(&mp->m_peraglock); for (;;) { - mraccess(&mp->m_peraglock); pag = &mp->m_perag[agno]; if (!pag->pagi_init) { if (xfs_ialloc_read_agi(mp, tp, agno, &agbp)) { agbp = NULL; - mraccunlock(&mp->m_peraglock); goto nextag; } } else @@ -411,7 +410,6 @@ xfs_ialloc_ag_select( if (agbp == NULL && xfs_ialloc_read_agi(mp, tp, agno, &agbp)) { agbp = NULL; - mraccunlock(&mp->m_peraglock); goto nextag; } (void)xfs_alloc_pagf_init(mp, tp, agno, flags); @@ -426,7 +424,6 @@ xfs_ialloc_ag_select( if (agbp == NULL && xfs_ialloc_read_agi(mp, tp, agno, &agbp)) { agbp = NULL; - mraccunlock(&mp->m_peraglock); goto nextag; } mraccunlock(&mp->m_peraglock); @@ -434,7 +431,6 @@ xfs_ialloc_ag_select( } } unlock_nextag: - mraccunlock(&mp->m_peraglock); if (agbp) xfs_trans_brelse(tp, agbp); nextag: @@ -442,14 +438,18 @@ nextag: * No point in iterating over the rest, if we're shutting * down. */ - if (XFS_FORCED_SHUTDOWN(mp)) + if (XFS_FORCED_SHUTDOWN(mp)) { + mraccunlock(&mp->m_peraglock); return (xfs_buf_t *)0; + } agno++; if (agno >= agcount) agno = 0; if (agno == pagno) { - if (flags == 0) + if (flags == 0) { + mraccunlock(&mp->m_peraglock); return (xfs_buf_t *)0; + } flags = 0; } }