libgfs2: Add a speedier journal data block writing function
Now that we guarantee journals to be allocated contiguously, and the
block allocation has been separated out, we can speed up the journal
data writing process by simply generating the blocks and writing them
sequentially without consulting the resource group bitmaps each time a
new block is required.
lgfs2_write_journal_data() is added and the old write_journal() function
is left in place for now, until other journal creation scenarios (e.g.
potentially fragmented journals in gfs2_jadd and fsck.gfs2) have been
catered for, and those tools migrated to the new functions.
A further speed-up may be possible by using async i/o but we already
have a significant performance improvement with this strategy alone so
the added complexity of async i/o may not be worth it.
Signed-off-by: Andrew Price <anprice@redhat.com>