Lines Matching refs:bp
1184 xlog_iodone(xfs_buf_t *bp) in xlog_iodone() argument
1186 struct xlog_in_core *iclog = bp->b_fspriv; in xlog_iodone()
1193 if (XFS_TEST_ERROR(bp->b_error, l->l_mp, in xlog_iodone()
1195 xfs_buf_ioerror_alert(bp, __func__); in xlog_iodone()
1196 xfs_buf_stale(bp); in xlog_iodone()
1209 ASSERT(XFS_BUF_ISASYNC(bp)); in xlog_iodone()
1218 xfs_buf_unlock(bp); in xlog_iodone()
1350 xfs_buf_t *bp; in xlog_alloc_log() local
1414 bp = xfs_buf_alloc(mp->m_logdev_targp, XFS_BUF_DADDR_NULL, in xlog_alloc_log()
1416 if (!bp) in xlog_alloc_log()
1424 ASSERT(xfs_buf_islocked(bp)); in xlog_alloc_log()
1425 xfs_buf_unlock(bp); in xlog_alloc_log()
1428 bp->b_ioend_wq = mp->m_log_workqueue; in xlog_alloc_log()
1429 bp->b_iodone = xlog_iodone; in xlog_alloc_log()
1430 log->l_xbuf = bp; in xlog_alloc_log()
1453 bp = xfs_buf_get_uncached(mp->m_logdev_targp, in xlog_alloc_log()
1455 if (!bp) in xlog_alloc_log()
1458 ASSERT(xfs_buf_islocked(bp)); in xlog_alloc_log()
1459 xfs_buf_unlock(bp); in xlog_alloc_log()
1462 bp->b_ioend_wq = mp->m_log_workqueue; in xlog_alloc_log()
1463 bp->b_iodone = xlog_iodone; in xlog_alloc_log()
1464 iclog->ic_bp = bp; in xlog_alloc_log()
1465 iclog->ic_data = bp->b_addr; in xlog_alloc_log()
1479 iclog->ic_size = BBTOB(bp->b_length) - log->l_iclog_hsize; in xlog_alloc_log()
1709 struct xfs_buf *bp) in xlog_bdstrat() argument
1711 struct xlog_in_core *iclog = bp->b_fspriv; in xlog_bdstrat()
1713 xfs_buf_lock(bp); in xlog_bdstrat()
1715 xfs_buf_ioerror(bp, -EIO); in xlog_bdstrat()
1716 xfs_buf_stale(bp); in xlog_bdstrat()
1717 xfs_buf_ioend(bp); in xlog_bdstrat()
1727 xfs_buf_submit(bp); in xlog_bdstrat()
1761 xfs_buf_t *bp; in xlog_sync() local
1805 bp = iclog->ic_bp; in xlog_sync()
1806 XFS_BUF_SET_ADDR(bp, BLOCK_LSN(be64_to_cpu(iclog->ic_header.h_lsn))); in xlog_sync()
1811 if (XFS_BUF_ADDR(bp) + BTOBB(count) > log->l_logBBsize) { in xlog_sync()
1814 split = count - (BBTOB(log->l_logBBsize - XFS_BUF_ADDR(bp))); in xlog_sync()
1815 count = BBTOB(log->l_logBBsize - XFS_BUF_ADDR(bp)); in xlog_sync()
1842 bp->b_io_length = BTOBB(count); in xlog_sync()
1843 bp->b_fspriv = iclog; in xlog_sync()
1844 XFS_BUF_ZEROFLAGS(bp); in xlog_sync()
1845 XFS_BUF_ASYNC(bp); in xlog_sync()
1846 bp->b_flags |= XBF_SYNCIO; in xlog_sync()
1849 bp->b_flags |= XBF_FUA; in xlog_sync()
1863 bp->b_flags |= XBF_FLUSH; in xlog_sync()
1866 ASSERT(XFS_BUF_ADDR(bp) <= log->l_logBBsize-1); in xlog_sync()
1867 ASSERT(XFS_BUF_ADDR(bp) + BTOBB(count) <= log->l_logBBsize); in xlog_sync()
1872 XFS_BUF_SET_ADDR(bp, XFS_BUF_ADDR(bp) + log->l_logBBstart); in xlog_sync()
1877 XFS_BUF_WRITE(bp); in xlog_sync()
1879 error = xlog_bdstrat(bp); in xlog_sync()
1881 xfs_buf_ioerror_alert(bp, "xlog_sync"); in xlog_sync()
1885 bp = iclog->ic_log->l_xbuf; in xlog_sync()
1886 XFS_BUF_SET_ADDR(bp, 0); /* logical 0 */ in xlog_sync()
1887 xfs_buf_associate_memory(bp, in xlog_sync()
1889 bp->b_fspriv = iclog; in xlog_sync()
1890 XFS_BUF_ZEROFLAGS(bp); in xlog_sync()
1891 XFS_BUF_ASYNC(bp); in xlog_sync()
1892 bp->b_flags |= XBF_SYNCIO; in xlog_sync()
1894 bp->b_flags |= XBF_FUA; in xlog_sync()
1896 ASSERT(XFS_BUF_ADDR(bp) <= log->l_logBBsize-1); in xlog_sync()
1897 ASSERT(XFS_BUF_ADDR(bp) + BTOBB(count) <= log->l_logBBsize); in xlog_sync()
1900 XFS_BUF_SET_ADDR(bp, XFS_BUF_ADDR(bp) + log->l_logBBstart); in xlog_sync()
1901 XFS_BUF_WRITE(bp); in xlog_sync()
1902 error = xlog_bdstrat(bp); in xlog_sync()
1904 xfs_buf_ioerror_alert(bp, "xlog_sync (split)"); in xlog_sync()