diff options
author | Andrea Righi <andrea.righi@canonical.com> | 2020-10-27 07:49:13 +0300 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2020-10-28 20:41:23 +0300 |
commit | d0520df7240f7117226e871453e1b20d12a9614a (patch) | |
tree | 12cf545e527c851fd6578a51b56f854b16ff05ca /fs/ext4/ext4.h | |
parent | 5112e9a540fb4a63184850c6570f30ae13b5f5e3 (diff) | |
download | linux-d0520df7240f7117226e871453e1b20d12a9614a.tar.xz |
ext4: properly check for dirty state in ext4_inode_datasync_dirty()
ext4_inode_datasync_dirty() needs to return 'true' if the inode is
dirty, 'false' otherwise, but the logic seems to be incorrectly changed
by commit aa75f4d3daae ("ext4: main fast-commit commit path").
This introduces a problem with swap files that are always failing to be
activated, showing this error in dmesg:
[ 34.406479] swapon: file is not committed
Simple test case to reproduce the problem:
# fallocate -l 8G swapfile
# chmod 0600 swapfile
# mkswap swapfile
# swapon swapfile
Fix the logic to return the proper state of the inode.
Link: https://lore.kernel.org/lkml/20201024131333.GA32124@xps-13-7390
Fixes: 8016e29f4362 ("ext4: fast commit recovery path")
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Link: https://lore.kernel.org/r/20201027044915.2553163-1-harshadshirwadkar@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/ext4.h')
0 files changed, 0 insertions, 0 deletions