/* This is called when the buf log item is no longer needed. It should free the buf log item associated with the given buffer and clear the buffer's pointer to the buf log item. If there are no more items in the list, clear the b_iodone field of the buffer (see xfs_buf_attach_iodone() below).  */
void xfs_buf_item_relse(xfs_buf_t *bp)
/* This is called when the buf log item is no longer needed. It should free the buf log item associated with the given buffer and clear the buffer's pointer to the buf log item. If there are no more items in the list, clear the b_iodone field of the buffer (see xfs_buf_attach_iodone() below).  */
void xfs_buf_item_relse(xfs_buf_t *bp)
{
	xfs_buf_log_item_t	*bip;
	trace_xfs_buf_item_relse(bp, _RET_IP_);
	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t*);
	XFS_BUF_SET_FSPRIVATE(bp, bip->bli_item.li_bio_list);
	if ((XFS_BUF_FSPRIVATE(bp, void *) == NULL) &&
	    (XFS_BUF_IODONE_FUNC(bp) != NULL)) {
		XFS_BUF_CLR_IODONE_FUNC(bp);
	}
	xfs_buf_rele(bp);
	xfs_buf_item_free(bip);
}