lkml.org 
[lkml]   [2020]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 39/47] ext4: fix bogus warning in ext4_update_dx_flag()
    Date
    From: Jan Kara <jack@suse.cz>

    commit f902b216501094495ff75834035656e8119c537f upstream.

    The idea of the warning in ext4_update_dx_flag() is that we should warn
    when we are clearing EXT4_INODE_INDEX on a filesystem with metadata
    checksums enabled since after clearing the flag, checksums for internal
    htree nodes will become invalid. So there's no need to warn (or actually
    do anything) when EXT4_INODE_INDEX is not set.

    Link: https://lore.kernel.org/r/20201118153032.17281-1-jack@suse.cz
    Fixes: 48a34311953d ("ext4: fix checksum errors with indexed dirs")
    Reported-by: Eric Biggers <ebiggers@kernel.org>
    Reviewed-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Cc: stable@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/ext4/ext4.h | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/fs/ext4/ext4.h
    +++ b/fs/ext4/ext4.h
    @@ -2395,7 +2395,8 @@ int ext4_insert_dentry(struct inode *dir
    struct ext4_filename *fname);
    static inline void ext4_update_dx_flag(struct inode *inode)
    {
    - if (!ext4_has_feature_dir_index(inode->i_sb)) {
    + if (!ext4_has_feature_dir_index(inode->i_sb) &&
    + ext4_test_inode_flag(inode, EXT4_INODE_INDEX)) {
    /* ext4_iget() should have caught this... */
    WARN_ON_ONCE(ext4_has_feature_metadata_csum(inode->i_sb));
    ext4_clear_inode_flag(inode, EXT4_INODE_INDEX);

    \
     
     \ /
      Last update: 2020-11-23 14:41    [W:4.159 / U:0.136 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site