You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
jbd2: fix /proc/fs/jbd2/<dev> when using an external journal
In jbd2_journal_init_dev(), we need make sure the journal structure is fully initialzied before calling jbd2_stats_proc_init(). Reviewed-by: Andreas Dilger <andreas.dilger@oracle.com> Signed-off-by: yangsheng <sheng.yang@oracle.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
+8
-8
@@ -899,6 +899,14 @@ journal_t * jbd2_journal_init_dev(struct block_device *bdev,
|
|||||||
|
|
||||||
/* journal descriptor can store up to n blocks -bzzz */
|
/* journal descriptor can store up to n blocks -bzzz */
|
||||||
journal->j_blocksize = blocksize;
|
journal->j_blocksize = blocksize;
|
||||||
|
journal->j_dev = bdev;
|
||||||
|
journal->j_fs_dev = fs_dev;
|
||||||
|
journal->j_blk_offset = start;
|
||||||
|
journal->j_maxlen = len;
|
||||||
|
bdevname(journal->j_dev, journal->j_devname);
|
||||||
|
p = journal->j_devname;
|
||||||
|
while ((p = strchr(p, '/')))
|
||||||
|
*p = '!';
|
||||||
jbd2_stats_proc_init(journal);
|
jbd2_stats_proc_init(journal);
|
||||||
n = journal->j_blocksize / sizeof(journal_block_tag_t);
|
n = journal->j_blocksize / sizeof(journal_block_tag_t);
|
||||||
journal->j_wbufsize = n;
|
journal->j_wbufsize = n;
|
||||||
@@ -908,14 +916,6 @@ journal_t * jbd2_journal_init_dev(struct block_device *bdev,
|
|||||||
__func__);
|
__func__);
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
journal->j_dev = bdev;
|
|
||||||
journal->j_fs_dev = fs_dev;
|
|
||||||
journal->j_blk_offset = start;
|
|
||||||
journal->j_maxlen = len;
|
|
||||||
bdevname(journal->j_dev, journal->j_devname);
|
|
||||||
p = journal->j_devname;
|
|
||||||
while ((p = strchr(p, '/')))
|
|
||||||
*p = '!';
|
|
||||||
|
|
||||||
bh = __getblk(journal->j_dev, start, journal->j_blocksize);
|
bh = __getblk(journal->j_dev, start, journal->j_blocksize);
|
||||||
if (!bh) {
|
if (!bh) {
|
||||||
|
|||||||
Reference in New Issue
Block a user