+ if (optype & XLOG_START_TRANS)
+ headers++;
This deserves a comment.
+ len = xlog_write_calc_vec_length(ticket, log_vector, optype);
+ if (start_lsn)
+ *start_lsn = 0;
I'd slightly prefer that allowing a NULL start_lsn was a separate prep
patch. As-is it really clutters the patch and detracts from the real
change.
quoted hunk ↗ jump to hunk
int copy_len;
int copy_off;
bool ordered = false;
+ bool wrote_start_rec = false;
/* ordered log vectors have no regions to write */
if (lv->lv_buf_len == XFS_LOG_VEC_ORDERED) {@@ -2502,13 +2501,15 @@ xlog_write(
* write a start record. Only do this for the first
* iclog we write to.
*/
- if (need_start_rec) {
+ if (optype & XLOG_START_TRANS) {
So this relies on the fact that the only callers that passes an optype of
XLOG_START_TRANS only writes a single lv. I think we want an assert for
that somewhere to avoid a bad surprise later.