mirror of https://gitee.com/openkylin/linux.git
Merge branch 'xfs-misc-fixes-for-4.3-4' into for-next
This commit is contained in:
commit
5d54b8cdea
|
@ -233,6 +233,7 @@ xfs_da3_node_read_verify(
|
|||
bp->b_ops->verify_read(bp);
|
||||
return;
|
||||
default:
|
||||
xfs_buf_ioerror(bp, -EFSCORRUPTED);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -356,7 +356,8 @@ xfs_end_bio(
|
|||
{
|
||||
xfs_ioend_t *ioend = bio->bi_private;
|
||||
|
||||
ioend->io_error = test_bit(BIO_UPTODATE, &bio->bi_flags) ? 0 : error;
|
||||
if (!ioend->io_error && !test_bit(BIO_UPTODATE, &bio->bi_flags))
|
||||
ioend->io_error = error;
|
||||
|
||||
/* Toss bio and pass work off to an xfsdatad thread */
|
||||
bio->bi_private = NULL;
|
||||
|
|
|
@ -412,6 +412,8 @@ xfs_iget(
|
|||
if (!ino || XFS_INO_TO_AGNO(mp, ino) >= mp->m_sb.sb_agcount)
|
||||
return -EINVAL;
|
||||
|
||||
XFS_STATS_INC(xs_ig_attempts);
|
||||
|
||||
/* get the perag structure and ensure that it's inode capable */
|
||||
pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ino));
|
||||
agino = XFS_INO_TO_AGINO(mp, ino);
|
||||
|
|
|
@ -609,7 +609,7 @@ xfs_setattr_nonsize(
|
|||
tp = xfs_trans_alloc(mp, XFS_TRANS_SETATTR_NOT_SIZE);
|
||||
error = xfs_trans_reserve(tp, &M_RES(mp)->tr_ichange, 0, 0);
|
||||
if (error)
|
||||
goto out_dqrele;
|
||||
goto out_trans_cancel;
|
||||
|
||||
xfs_ilock(ip, XFS_ILOCK_EXCL);
|
||||
|
||||
|
@ -640,7 +640,7 @@ xfs_setattr_nonsize(
|
|||
NULL, capable(CAP_FOWNER) ?
|
||||
XFS_QMOPT_FORCE_RES : 0);
|
||||
if (error) /* out of quota */
|
||||
goto out_trans_cancel;
|
||||
goto out_unlock;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -729,10 +729,10 @@ xfs_setattr_nonsize(
|
|||
|
||||
return 0;
|
||||
|
||||
out_unlock:
|
||||
xfs_iunlock(ip, XFS_ILOCK_EXCL);
|
||||
out_trans_cancel:
|
||||
xfs_trans_cancel(tp);
|
||||
xfs_iunlock(ip, XFS_ILOCK_EXCL);
|
||||
out_dqrele:
|
||||
xfs_qm_dqrele(udqp);
|
||||
xfs_qm_dqrele(gdqp);
|
||||
return error;
|
||||
|
|
Loading…
Reference in New Issue