• Amir Goldstein's avatar
    ext4: do not update s_last_mounted of a frozen fs · db6516a5
    Amir Goldstein authored
    If fs is frozen after mount and before the first file open, the
    update of s_last_mounted bypasses freeze protection and prints out
    a WARNING splat:
    
    $ mount /vdf
    $ fsfreeze -f /vdf
    $ cat /vdf/foo
    
    [   31.578555] WARNING: CPU: 1 PID: 1415 at
    fs/ext4/ext4_jbd2.c:53 ext4_journal_check_start+0x48/0x82
    
    [   31.614016] Call Trace:
    [   31.614997]  __ext4_journal_start_sb+0xe4/0x1a4
    [   31.616771]  ? ext4_file_open+0xb6/0x189
    [   31.618094]  ext4_file_open+0xb6/0x189
    
    If fs is frozen, skip s_last_mounted update.
    
    [backport hint: to apply to stable tree, need to apply also patches
     vfs: add the sb_start_intwrite_trylock() helper
     ext4: factor out helper ext4_sample_last_mounted()]
    
    Cc: stable@vger.kernel.org
    Fixes: bc0b0d6d ("ext4: update the s_last_mounted field in the superblock")
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    Reviewed-by: default avatarJan Kara <jack@suse.cz>
    db6516a5
file.c 13.3 KB