Merge git://oss.sgi.com:8090/oss/git/xfs-rc-fixes
This commit is contained in:
commit
d4f0f122ec
3 changed files with 20 additions and 22 deletions
|
@ -540,7 +540,7 @@ xfs_probe_cluster(
|
||||||
|
|
||||||
/* First sum forwards in this page */
|
/* First sum forwards in this page */
|
||||||
do {
|
do {
|
||||||
if (mapped != buffer_mapped(bh))
|
if (!buffer_uptodate(bh) || (mapped != buffer_mapped(bh)))
|
||||||
return total;
|
return total;
|
||||||
total += bh->b_size;
|
total += bh->b_size;
|
||||||
} while ((bh = bh->b_this_page) != head);
|
} while ((bh = bh->b_this_page) != head);
|
||||||
|
|
|
@ -68,6 +68,9 @@ kmem_zone_t *qm_dqzone;
|
||||||
kmem_zone_t *qm_dqtrxzone;
|
kmem_zone_t *qm_dqtrxzone;
|
||||||
STATIC kmem_shaker_t xfs_qm_shaker;
|
STATIC kmem_shaker_t xfs_qm_shaker;
|
||||||
|
|
||||||
|
STATIC cred_t xfs_zerocr;
|
||||||
|
STATIC xfs_inode_t xfs_zeroino;
|
||||||
|
|
||||||
STATIC void xfs_qm_list_init(xfs_dqlist_t *, char *, int);
|
STATIC void xfs_qm_list_init(xfs_dqlist_t *, char *, int);
|
||||||
STATIC void xfs_qm_list_destroy(xfs_dqlist_t *);
|
STATIC void xfs_qm_list_destroy(xfs_dqlist_t *);
|
||||||
|
|
||||||
|
@ -1393,8 +1396,6 @@ xfs_qm_qino_alloc(
|
||||||
xfs_trans_t *tp;
|
xfs_trans_t *tp;
|
||||||
int error;
|
int error;
|
||||||
unsigned long s;
|
unsigned long s;
|
||||||
cred_t zerocr;
|
|
||||||
xfs_inode_t zeroino;
|
|
||||||
int committed;
|
int committed;
|
||||||
|
|
||||||
tp = xfs_trans_alloc(mp, XFS_TRANS_QM_QINOCREATE);
|
tp = xfs_trans_alloc(mp, XFS_TRANS_QM_QINOCREATE);
|
||||||
|
@ -1406,11 +1407,9 @@ xfs_qm_qino_alloc(
|
||||||
xfs_trans_cancel(tp, 0);
|
xfs_trans_cancel(tp, 0);
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
memset(&zerocr, 0, sizeof(zerocr));
|
|
||||||
memset(&zeroino, 0, sizeof(zeroino));
|
|
||||||
|
|
||||||
if ((error = xfs_dir_ialloc(&tp, &zeroino, S_IFREG, 1, 0,
|
if ((error = xfs_dir_ialloc(&tp, &xfs_zeroino, S_IFREG, 1, 0,
|
||||||
&zerocr, 0, 1, ip, &committed))) {
|
&xfs_zerocr, 0, 1, ip, &committed))) {
|
||||||
xfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES |
|
xfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES |
|
||||||
XFS_TRANS_ABORT);
|
XFS_TRANS_ABORT);
|
||||||
return error;
|
return error;
|
||||||
|
|
|
@ -130,7 +130,8 @@ xfs_growfs_rt_alloc(
|
||||||
/*
|
/*
|
||||||
* Lock the inode.
|
* Lock the inode.
|
||||||
*/
|
*/
|
||||||
if ((error = xfs_trans_iget(mp, tp, ino, 0, XFS_ILOCK_EXCL, &ip)))
|
if ((error = xfs_trans_iget(mp, tp, ino, 0,
|
||||||
|
XFS_ILOCK_EXCL, &ip)))
|
||||||
goto error_exit;
|
goto error_exit;
|
||||||
XFS_BMAP_INIT(&flist, &firstblock);
|
XFS_BMAP_INIT(&flist, &firstblock);
|
||||||
/*
|
/*
|
||||||
|
@ -170,8 +171,8 @@ xfs_growfs_rt_alloc(
|
||||||
/*
|
/*
|
||||||
* Lock the bitmap inode.
|
* Lock the bitmap inode.
|
||||||
*/
|
*/
|
||||||
if ((error = xfs_trans_iget(mp, tp, ino, 0, XFS_ILOCK_EXCL,
|
if ((error = xfs_trans_iget(mp, tp, ino, 0,
|
||||||
&ip)))
|
XFS_ILOCK_EXCL, &ip)))
|
||||||
goto error_exit;
|
goto error_exit;
|
||||||
/*
|
/*
|
||||||
* Get a buffer for the block.
|
* Get a buffer for the block.
|
||||||
|
@ -2023,7 +2024,7 @@ xfs_growfs_rt(
|
||||||
/*
|
/*
|
||||||
* Lock out other callers by grabbing the bitmap inode lock.
|
* Lock out other callers by grabbing the bitmap inode lock.
|
||||||
*/
|
*/
|
||||||
if ((error = xfs_trans_iget(mp, tp, 0, mp->m_sb.sb_rbmino,
|
if ((error = xfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0,
|
||||||
XFS_ILOCK_EXCL, &ip)))
|
XFS_ILOCK_EXCL, &ip)))
|
||||||
goto error_exit;
|
goto error_exit;
|
||||||
ASSERT(ip == mp->m_rbmip);
|
ASSERT(ip == mp->m_rbmip);
|
||||||
|
@ -2037,8 +2038,8 @@ xfs_growfs_rt(
|
||||||
/*
|
/*
|
||||||
* Get the summary inode into the transaction.
|
* Get the summary inode into the transaction.
|
||||||
*/
|
*/
|
||||||
if ((error = xfs_trans_iget(mp, tp, mp->m_sb.sb_rsumino,
|
if ((error = xfs_trans_iget(mp, tp, mp->m_sb.sb_rsumino, 0,
|
||||||
0, XFS_ILOCK_EXCL, &ip)))
|
XFS_ILOCK_EXCL, &ip)))
|
||||||
goto error_exit;
|
goto error_exit;
|
||||||
ASSERT(ip == mp->m_rsumip);
|
ASSERT(ip == mp->m_rsumip);
|
||||||
/*
|
/*
|
||||||
|
@ -2158,10 +2159,9 @@ xfs_rtallocate_extent(
|
||||||
/*
|
/*
|
||||||
* Lock out other callers by grabbing the bitmap inode lock.
|
* Lock out other callers by grabbing the bitmap inode lock.
|
||||||
*/
|
*/
|
||||||
error = xfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0, XFS_ILOCK_EXCL, &ip);
|
if ((error = xfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0,
|
||||||
if (error) {
|
XFS_ILOCK_EXCL, &ip)))
|
||||||
return error;
|
return error;
|
||||||
}
|
|
||||||
sumbp = NULL;
|
sumbp = NULL;
|
||||||
/*
|
/*
|
||||||
* Allocate by size, or near another block, or exactly at some block.
|
* Allocate by size, or near another block, or exactly at some block.
|
||||||
|
@ -2221,10 +2221,9 @@ xfs_rtfree_extent(
|
||||||
/*
|
/*
|
||||||
* Synchronize by locking the bitmap inode.
|
* Synchronize by locking the bitmap inode.
|
||||||
*/
|
*/
|
||||||
error = xfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0, XFS_ILOCK_EXCL, &ip);
|
if ((error = xfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0,
|
||||||
if (error) {
|
XFS_ILOCK_EXCL, &ip)))
|
||||||
return error;
|
return error;
|
||||||
}
|
|
||||||
#if defined(__KERNEL__) && defined(DEBUG)
|
#if defined(__KERNEL__) && defined(DEBUG)
|
||||||
/*
|
/*
|
||||||
* Check to see that this whole range is currently allocated.
|
* Check to see that this whole range is currently allocated.
|
||||||
|
@ -2365,8 +2364,8 @@ xfs_rtpick_extent(
|
||||||
__uint64_t seq; /* sequence number of file creation */
|
__uint64_t seq; /* sequence number of file creation */
|
||||||
__uint64_t *seqp; /* pointer to seqno in inode */
|
__uint64_t *seqp; /* pointer to seqno in inode */
|
||||||
|
|
||||||
error = xfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0, XFS_ILOCK_EXCL, &ip);
|
if ((error = xfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0,
|
||||||
if (error)
|
XFS_ILOCK_EXCL, &ip)))
|
||||||
return error;
|
return error;
|
||||||
ASSERT(ip == mp->m_rbmip);
|
ASSERT(ip == mp->m_rbmip);
|
||||||
seqp = (__uint64_t *)&ip->i_d.di_atime;
|
seqp = (__uint64_t *)&ip->i_d.di_atime;
|
||||||
|
|
Loading…
Add table
Reference in a new issue