If the change from journal_inode to journal_dev is/was made prior to the recent change, the s_jnl_blocks will have whatever it last had. So if it started with journal_inode and then switched to journal_dev (again, prior to your fix) or no journal, the s_jnl_blocks will have the old journal_inode info, and adding/removing journal_dev does no clear it out. For a new fs with created only with journal_dev, there is no issue. I'm just arguing that *adding* journal_dev should also zero this out. +Reardon ---------------------------------------- > Date: Fri, 12 Sep 2014 09:43:42 -0700 > From: darrick.wong@xxxxxxxxxx > To: thomas_reardon@xxxxxxxxxxx > CC: linux-ext4@xxxxxxxxxxxxxxx > Subject: Re: [PATCH 09/25] misc: zero s_jnl_blocks when removing internal journal > > [cc linux-ext4] > > On Fri, Sep 12, 2014 at 10:09:55AM -0400, TR Reardon wrote: >> Note that this only works (zeroes out) when removing inode journal. Removing >> an existing journal_dev leaves s_jnl_blocks untouched. To be absolutely >> clean, perhaps it should be wiped in all removal cases? > > s_jnl_blocks shouldn't be set if an external journal is in use. > > (Unless it is somehow?) > > --D -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html