diff options
author | Konstantin Komarov <almaz.alexandrovich@paragon-software.com> | 2024-12-30 10:34:08 +0300 |
---|---|---|
committer | Konstantin Komarov <almaz.alexandrovich@paragon-software.com> | 2024-12-30 11:37:40 +0300 |
commit | 55ad333de0f80bc0caee10c6c27196cdcf8891bb (patch) | |
tree | e257e15ab07ebe788315fb1e5238c06ce8884b3b /fs/ntfs3/fsntfs.c | |
parent | 2afd4d267e6dbaec8d3ccd4f5396cb84bc67aa2e (diff) |
fs/ntfs3: Unify inode corruption marking with _ntfs_bad_inode()
Also reworked error handling in a couple of places.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Diffstat (limited to 'fs/ntfs3/fsntfs.c')
-rw-r--r-- | fs/ntfs3/fsntfs.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/ntfs3/fsntfs.c b/fs/ntfs3/fsntfs.c index 03471bc9371c..938d351ebac7 100644 --- a/fs/ntfs3/fsntfs.c +++ b/fs/ntfs3/fsntfs.c @@ -908,7 +908,11 @@ void ntfs_bad_inode(struct inode *inode, const char *hint) ntfs_inode_err(inode, "%s", hint); make_bad_inode(inode); - ntfs_set_state(sbi, NTFS_DIRTY_ERROR); + /* Avoid recursion if bad inode is $Volume. */ + if (inode->i_ino != MFT_REC_VOL && + !(sbi->flags & NTFS_FLAGS_LOG_REPLAYING)) { + ntfs_set_state(sbi, NTFS_DIRTY_ERROR); + } } /* |