Merge branch 'xfs-misc-fixes-for-3.20-1' into for-next
This commit is contained in:
commit
efdca7aa3c
|
@ -304,8 +304,8 @@ typedef enum {
|
||||||
#define XFS_SB_ICOUNT XFS_SB_MVAL(ICOUNT)
|
#define XFS_SB_ICOUNT XFS_SB_MVAL(ICOUNT)
|
||||||
#define XFS_SB_IFREE XFS_SB_MVAL(IFREE)
|
#define XFS_SB_IFREE XFS_SB_MVAL(IFREE)
|
||||||
#define XFS_SB_FDBLOCKS XFS_SB_MVAL(FDBLOCKS)
|
#define XFS_SB_FDBLOCKS XFS_SB_MVAL(FDBLOCKS)
|
||||||
#define XFS_SB_FEATURES2 XFS_SB_MVAL(FEATURES2)
|
#define XFS_SB_FEATURES2 (XFS_SB_MVAL(FEATURES2) | \
|
||||||
#define XFS_SB_BAD_FEATURES2 XFS_SB_MVAL(BAD_FEATURES2)
|
XFS_SB_MVAL(BAD_FEATURES2))
|
||||||
#define XFS_SB_FEATURES_COMPAT XFS_SB_MVAL(FEATURES_COMPAT)
|
#define XFS_SB_FEATURES_COMPAT XFS_SB_MVAL(FEATURES_COMPAT)
|
||||||
#define XFS_SB_FEATURES_RO_COMPAT XFS_SB_MVAL(FEATURES_RO_COMPAT)
|
#define XFS_SB_FEATURES_RO_COMPAT XFS_SB_MVAL(FEATURES_RO_COMPAT)
|
||||||
#define XFS_SB_FEATURES_INCOMPAT XFS_SB_MVAL(FEATURES_INCOMPAT)
|
#define XFS_SB_FEATURES_INCOMPAT XFS_SB_MVAL(FEATURES_INCOMPAT)
|
||||||
|
@ -319,9 +319,9 @@ typedef enum {
|
||||||
XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | XFS_SB_GQUOTINO | \
|
XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | XFS_SB_GQUOTINO | \
|
||||||
XFS_SB_QFLAGS | XFS_SB_SHARED_VN | XFS_SB_UNIT | XFS_SB_WIDTH | \
|
XFS_SB_QFLAGS | XFS_SB_SHARED_VN | XFS_SB_UNIT | XFS_SB_WIDTH | \
|
||||||
XFS_SB_ICOUNT | XFS_SB_IFREE | XFS_SB_FDBLOCKS | XFS_SB_FEATURES2 | \
|
XFS_SB_ICOUNT | XFS_SB_IFREE | XFS_SB_FDBLOCKS | XFS_SB_FEATURES2 | \
|
||||||
XFS_SB_BAD_FEATURES2 | XFS_SB_FEATURES_COMPAT | \
|
XFS_SB_FEATURES_COMPAT | XFS_SB_FEATURES_RO_COMPAT | \
|
||||||
XFS_SB_FEATURES_RO_COMPAT | XFS_SB_FEATURES_INCOMPAT | \
|
XFS_SB_FEATURES_INCOMPAT | XFS_SB_FEATURES_LOG_INCOMPAT | \
|
||||||
XFS_SB_FEATURES_LOG_INCOMPAT | XFS_SB_PQUOTINO)
|
XFS_SB_PQUOTINO)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -535,7 +535,7 @@ xfs_buf_item_push(
|
||||||
if ((bp->b_flags & XBF_WRITE_FAIL) &&
|
if ((bp->b_flags & XBF_WRITE_FAIL) &&
|
||||||
___ratelimit(&xfs_buf_write_fail_rl_state, "XFS:")) {
|
___ratelimit(&xfs_buf_write_fail_rl_state, "XFS:")) {
|
||||||
xfs_warn(bp->b_target->bt_mount,
|
xfs_warn(bp->b_target->bt_mount,
|
||||||
"Detected failing async write on buffer block 0x%llx. Retrying async write.\n",
|
"Detected failing async write on buffer block 0x%llx. Retrying async write.",
|
||||||
(long long)bp->b_bn);
|
(long long)bp->b_bn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1395,6 +1395,8 @@ xlog_alloc_log(
|
||||||
ASSERT(xfs_buf_islocked(bp));
|
ASSERT(xfs_buf_islocked(bp));
|
||||||
xfs_buf_unlock(bp);
|
xfs_buf_unlock(bp);
|
||||||
|
|
||||||
|
/* use high priority wq for log I/O completion */
|
||||||
|
bp->b_ioend_wq = mp->m_log_workqueue;
|
||||||
bp->b_iodone = xlog_iodone;
|
bp->b_iodone = xlog_iodone;
|
||||||
log->l_xbuf = bp;
|
log->l_xbuf = bp;
|
||||||
|
|
||||||
|
@ -1427,6 +1429,8 @@ xlog_alloc_log(
|
||||||
ASSERT(xfs_buf_islocked(bp));
|
ASSERT(xfs_buf_islocked(bp));
|
||||||
xfs_buf_unlock(bp);
|
xfs_buf_unlock(bp);
|
||||||
|
|
||||||
|
/* use high priority wq for log I/O completion */
|
||||||
|
bp->b_ioend_wq = mp->m_log_workqueue;
|
||||||
bp->b_iodone = xlog_iodone;
|
bp->b_iodone = xlog_iodone;
|
||||||
iclog->ic_bp = bp;
|
iclog->ic_bp = bp;
|
||||||
iclog->ic_data = bp->b_addr;
|
iclog->ic_data = bp->b_addr;
|
||||||
|
@ -1806,8 +1810,6 @@ xlog_sync(
|
||||||
XFS_BUF_ZEROFLAGS(bp);
|
XFS_BUF_ZEROFLAGS(bp);
|
||||||
XFS_BUF_ASYNC(bp);
|
XFS_BUF_ASYNC(bp);
|
||||||
bp->b_flags |= XBF_SYNCIO;
|
bp->b_flags |= XBF_SYNCIO;
|
||||||
/* use high priority completion wq */
|
|
||||||
bp->b_ioend_wq = log->l_mp->m_log_workqueue;
|
|
||||||
|
|
||||||
if (log->l_mp->m_flags & XFS_MOUNT_BARRIER) {
|
if (log->l_mp->m_flags & XFS_MOUNT_BARRIER) {
|
||||||
bp->b_flags |= XBF_FUA;
|
bp->b_flags |= XBF_FUA;
|
||||||
|
@ -1856,8 +1858,6 @@ xlog_sync(
|
||||||
bp->b_flags |= XBF_SYNCIO;
|
bp->b_flags |= XBF_SYNCIO;
|
||||||
if (log->l_mp->m_flags & XFS_MOUNT_BARRIER)
|
if (log->l_mp->m_flags & XFS_MOUNT_BARRIER)
|
||||||
bp->b_flags |= XBF_FUA;
|
bp->b_flags |= XBF_FUA;
|
||||||
/* use high priority completion wq */
|
|
||||||
bp->b_ioend_wq = log->l_mp->m_log_workqueue;
|
|
||||||
|
|
||||||
ASSERT(XFS_BUF_ADDR(bp) <= log->l_logBBsize-1);
|
ASSERT(XFS_BUF_ADDR(bp) <= log->l_logBBsize-1);
|
||||||
ASSERT(XFS_BUF_ADDR(bp) + BTOBB(count) <= log->l_logBBsize);
|
ASSERT(XFS_BUF_ADDR(bp) + BTOBB(count) <= log->l_logBBsize);
|
||||||
|
@ -2027,7 +2027,7 @@ xlog_print_tic_res(
|
||||||
" total reg = %u bytes (o/flow = %u bytes)\n"
|
" total reg = %u bytes (o/flow = %u bytes)\n"
|
||||||
" ophdrs = %u (ophdr space = %u bytes)\n"
|
" ophdrs = %u (ophdr space = %u bytes)\n"
|
||||||
" ophdr + reg = %u bytes\n"
|
" ophdr + reg = %u bytes\n"
|
||||||
" num regions = %u\n",
|
" num regions = %u",
|
||||||
((ticket->t_trans_type <= 0 ||
|
((ticket->t_trans_type <= 0 ||
|
||||||
ticket->t_trans_type > XFS_TRANS_TYPE_MAX) ?
|
ticket->t_trans_type > XFS_TRANS_TYPE_MAX) ?
|
||||||
"bad-trans-type" : trans_type_str[ticket->t_trans_type-1]),
|
"bad-trans-type" : trans_type_str[ticket->t_trans_type-1]),
|
||||||
|
|
|
@ -678,7 +678,7 @@ xfs_mountfs(
|
||||||
xfs_warn(mp, "correcting sb_features alignment problem");
|
xfs_warn(mp, "correcting sb_features alignment problem");
|
||||||
sbp->sb_features2 |= sbp->sb_bad_features2;
|
sbp->sb_features2 |= sbp->sb_bad_features2;
|
||||||
sbp->sb_bad_features2 = sbp->sb_features2;
|
sbp->sb_bad_features2 = sbp->sb_features2;
|
||||||
mp->m_update_flags |= XFS_SB_FEATURES2 | XFS_SB_BAD_FEATURES2;
|
mp->m_update_flags |= XFS_SB_FEATURES2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Re-check for ATTR2 in case it was found in bad_features2
|
* Re-check for ATTR2 in case it was found in bad_features2
|
||||||
|
@ -1436,8 +1436,7 @@ xfs_mount_log_sb(
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
ASSERT(fields & (XFS_SB_UNIT | XFS_SB_WIDTH | XFS_SB_UUID |
|
ASSERT(fields & (XFS_SB_UNIT | XFS_SB_WIDTH | XFS_SB_UUID |
|
||||||
XFS_SB_FEATURES2 | XFS_SB_BAD_FEATURES2 |
|
XFS_SB_FEATURES2 | XFS_SB_VERSIONNUM));
|
||||||
XFS_SB_VERSIONNUM));
|
|
||||||
|
|
||||||
tp = xfs_trans_alloc(mp, XFS_TRANS_SB_UNIT);
|
tp = xfs_trans_alloc(mp, XFS_TRANS_SB_UNIT);
|
||||||
error = xfs_trans_reserve(tp, &M_RES(mp)->tr_sb, 0, 0);
|
error = xfs_trans_reserve(tp, &M_RES(mp)->tr_sb, 0, 0);
|
||||||
|
|
|
@ -685,7 +685,7 @@ xfs_blkdev_get(
|
||||||
mp);
|
mp);
|
||||||
if (IS_ERR(*bdevp)) {
|
if (IS_ERR(*bdevp)) {
|
||||||
error = PTR_ERR(*bdevp);
|
error = PTR_ERR(*bdevp);
|
||||||
xfs_warn(mp, "Invalid device [%s], error=%d\n", name, error);
|
xfs_warn(mp, "Invalid device [%s], error=%d", name, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
return error;
|
return error;
|
||||||
|
|
Loading…
Reference in New Issue