The patch looks good to me, but I really hate overloading the lsn types and helpers. Just add duplicated of CYCLE_LSN/BLOCK_LSN and xlog_assign_lsn for a new type as use them.