Commit 0587aa3d11f9769a301b21bff2c3ed8365606b8d

Authored by yangsheng
Committed by Theodore Ts'o
1 parent f4c8cc652d

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>

Showing 1 changed file with 8 additions and 8 deletions Side-by-side Diff

... ... @@ -899,6 +899,14 @@
899 899  
900 900 /* journal descriptor can store up to n blocks -bzzz */
901 901 journal->j_blocksize = blocksize;
  902 + journal->j_dev = bdev;
  903 + journal->j_fs_dev = fs_dev;
  904 + journal->j_blk_offset = start;
  905 + journal->j_maxlen = len;
  906 + bdevname(journal->j_dev, journal->j_devname);
  907 + p = journal->j_devname;
  908 + while ((p = strchr(p, '/')))
  909 + *p = '!';
902 910 jbd2_stats_proc_init(journal);
903 911 n = journal->j_blocksize / sizeof(journal_block_tag_t);
904 912 journal->j_wbufsize = n;
... ... @@ -908,14 +916,6 @@
908 916 __func__);
909 917 goto out_err;
910 918 }
911   - journal->j_dev = bdev;
912   - journal->j_fs_dev = fs_dev;
913   - journal->j_blk_offset = start;
914   - journal->j_maxlen = len;
915   - bdevname(journal->j_dev, journal->j_devname);
916   - p = journal->j_devname;
917   - while ((p = strchr(p, '/')))
918   - *p = '!';
919 919  
920 920 bh = __getblk(journal->j_dev, start, journal->j_blocksize);
921 921 if (!bh) {