diff options
| author | Konstantin Komarov <almaz.alexandrovich@paragon-software.com> | 2024-06-04 10:41:39 +0300 |
|---|---|---|
| committer | Konstantin Komarov <almaz.alexandrovich@paragon-software.com> | 2024-06-07 14:31:08 +0300 |
| commit | 24c5100aceedcd47af89aaa404d4c96cd2837523 (patch) | |
| tree | ba5ece0f1878ec5be5109974d84e48fde64d0c3e /fs/ntfs3 | |
| parent | 1c308ace1fd6de93bd0b7e1a5e8963ab27e2c016 (diff) | |
| download | linux-24c5100aceedcd47af89aaa404d4c96cd2837523.tar.gz linux-24c5100aceedcd47af89aaa404d4c96cd2837523.tar.bz2 linux-24c5100aceedcd47af89aaa404d4c96cd2837523.zip | |
fs/ntfs3: Fix getting file type
An additional condition causes the mft record to be read from disk
and get the file type dt_type.
Fixes: 22457c047ed97 ("fs/ntfs3: Modified fix directory element type detection")
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Diffstat (limited to 'fs/ntfs3')
| -rw-r--r-- | fs/ntfs3/dir.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ntfs3/dir.c b/fs/ntfs3/dir.c index 1937e8e612f8..858efe255f6f 100644 --- a/fs/ntfs3/dir.c +++ b/fs/ntfs3/dir.c @@ -326,7 +326,8 @@ static inline int ntfs_filldir(struct ntfs_sb_info *sbi, struct ntfs_inode *ni, * It does additional locks/reads just to get the type of name. * Should we use additional mount option to enable branch below? */ - if ((fname->dup.fa & FILE_ATTRIBUTE_REPARSE_POINT) && + if (((fname->dup.fa & FILE_ATTRIBUTE_REPARSE_POINT) || + fname->dup.ea_size) && ino != ni->mi.rno) { struct inode *inode = ntfs_iget5(sbi->sb, &e->ref, NULL); if (!IS_ERR_OR_NULL(inode)) { |
