]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
mkfs: fix realtime device initialisation
authorDave Chinner <dchinner@redhat.com>
Fri, 7 Jun 2013 00:25:24 +0000 (10:25 +1000)
committerBen Myers <bpm@sgi.com>
Mon, 22 Jul 2013 20:35:12 +0000 (15:35 -0500)
The method that libxfs uses for logging inodes is not followed by rtinit().
It fails to join the realtime bitmap inode to the final extent free
transactions, and so mkfs.xfs dies when trying to log changes to the bitmap
inode. Fix it.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
mkfs/proto.c

index 56eed31d2174f9f4242d7a0e1e485393550596be..f201096b6191de2e8869f271a0740ed842db5249 100644 (file)
@@ -733,6 +733,8 @@ rtinit(
                tp = libxfs_trans_alloc(mp, 0);
                if ((i = libxfs_trans_reserve(tp, 0, 0, 0, 0, 0)))
                        res_failed(i);
+               libxfs_trans_ijoin(tp, rbmip, 0);
+               libxfs_trans_ihold(tp, rbmip);
                xfs_bmap_init(&flist, &first);
                ebno = XFS_RTMIN(mp->m_sb.sb_rextents,
                        bno + NBBY * mp->m_sb.sb_blocksize);