linux/fs/ext4
Theodore Ts'o e99f7c2c16 ext4: fix FS_IOC_GETFSMAP handling
commit 4a622e4d47 upstream.

The original implementation ext4's FS_IOC_GETFSMAP handling only
worked when the range of queried blocks included at least one free
(unallocated) block range.  This is because how the metadata blocks
were emitted was as a side effect of ext4_mballoc_query_range()
calling ext4_getfsmap_datadev_helper(), and that function was only
called when a free block range was identified.  As a result, this
caused generic/365 to fail.

Fix this by creating a new function ext4_getfsmap_meta_helper() which
gets called so that blocks before the first free block range in a
block group can get properly reported.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-12-14 19:53:58 +01:00
..
.kunitconfig ext4: add .kunitconfig fragment to enable ext4-specific tests 2021-02-11 23:16:30 -05:00
acl.c fs/ext4: fix comments mentioning i_mutex 2022-02-03 10:57:53 -05:00
acl.h ext4: apply umask if ACL support is disabled 2023-11-28 17:07:21 +00:00
balloc.c ext4: add correct group descriptors and reserved GDT blocks to system zone 2023-09-19 12:28:05 +02:00
bitmap.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
block_validity.c ext4: add correct group descriptors and reserved GDT blocks to system zone 2023-09-19 12:28:05 +02:00
crypto.c ext4: fix memory leaks in ext4_fname_{setup_filename,prepare_lookup} 2023-09-19 12:28:05 +02:00
dir.c ext4: correct encrypted dentry name hash when not casefolded 2024-10-17 15:21:53 +02:00
ext4.h ext4: make 'abort' mount option handling standard 2024-12-14 19:53:14 +01:00
ext4_extents.h ext4: fix sparse warnings 2021-08-30 23:36:50 -04:00
ext4_jbd2.c ext4: use ext4_debug() instead of jbd_debug() 2022-08-02 23:52:19 -04:00
ext4_jbd2.h fs/ext4: fix comments mentioning i_mutex 2022-02-03 10:57:53 -05:00
extents.c ext4: update orig_path in ext4_find_extent() 2024-10-17 15:21:54 +02:00
extents_status.c ext4: make ext4_es_insert_extent() return void 2024-08-11 12:35:52 +02:00
extents_status.h ext4: make ext4_es_insert_extent() return void 2024-08-11 12:35:52 +02:00
fast_commit.c ext4: use handle to mark fc as ineligible in __track_dentry_update() 2024-10-17 15:21:54 +02:00
fast_commit.h ext4: add missing validation of fast-commit record lengths 2023-01-07 11:12:00 +01:00
file.c ext4: dax: fix overflowing extents beyond inode size when partially writing 2024-10-17 15:21:53 +02:00
fsmap.c ext4: fix FS_IOC_GETFSMAP handling 2024-12-14 19:53:58 +01:00
fsmap.h ext4: fsmap: fix the block/inode bitmap comment 2021-06-24 09:48:29 -04:00
fsync.c block: use an on-stack bio in blkdev_issue_flush 2021-01-27 09:51:48 -07:00
hash.c ext4: improve error handling from ext4_dirhash() 2023-05-17 11:53:58 +02:00
ialloc.c ext4: avoid negative min_clusters in find_group_orlov() 2024-10-17 15:20:59 +02:00
indirect.c ext4: only update i_reserved_data_blocks on successful block allocation 2023-07-23 13:49:34 +02:00
inline.c ext4: avoid OOB when system.data xattr changes underneath the filesystem 2024-10-17 15:20:59 +02:00
inode-test.c fs: ext4: Modify inode-test.c to use KUnit parameterized testing feature 2020-12-02 16:07:25 -07:00
inode.c ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit() 2024-10-17 15:21:54 +02:00
ioctl.c ext4: fix to check return value of freeze_bdev() in ext4_shutdown() 2023-07-23 13:49:34 +02:00
Kconfig ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it 2021-02-11 23:12:59 -05:00
Makefile ext4: move ext4 crypto code to its own file crypto.c 2022-05-21 22:24:24 -04:00
mballoc.c ext4: fix FS_IOC_GETFSMAP handling 2024-12-14 19:53:58 +01:00
mballoc.h ext4: fix FS_IOC_GETFSMAP handling 2024-12-14 19:53:58 +01:00
migrate.c ext4: fix i_data_sem unlock order in ext4_ind_migrate() 2024-10-17 15:21:48 +02:00
mmp.c ext4: reflect error codes from ext4_multi_mount_protect() to its callers 2023-05-24 17:32:33 +01:00
move_extent.c ext4: update orig_path in ext4_find_extent() 2024-10-17 15:21:54 +02:00
namei.c ext4: no need to continue when the number of entries is 1 2024-10-17 15:21:52 +02:00
orphan.c ext4: remove trailing newline from ext4_msg() message 2023-01-07 11:11:58 +01:00
page-io.c ext4: handle redirtying in ext4_bio_write_page() 2024-09-08 07:53:13 +02:00
readpage.c fscrypt: stop using PG_error to track error status 2022-09-06 15:15:56 -07:00
resize.c ext4: fix corruption during on-line resize 2024-04-03 15:19:32 +02:00
super.c ext4: supress data-race warnings in ext4_free_inodes_{count,set}() 2024-12-14 19:53:57 +01:00
symlink.c ext4: fix reading leftover inlined symlinks 2022-08-02 23:37:50 -04:00
sysfs.c ext4: Fix function prototype mismatch for ext4_feat_ktype 2023-02-25 11:25:43 +01:00
truncate.h ext4: Convert to use mapping->invalidate_lock 2021-07-13 14:29:00 +02:00
verity.c fs: ext4: initialize fsdata in pagecache_write() 2023-01-07 11:11:58 +01:00
xattr.c ext4: nested locking for xattr inode 2024-10-17 15:22:13 +02:00
xattr.h ext4: remove EA inode entry from mbcache on inode eviction 2022-08-02 23:56:25 -04:00
xattr_hurd.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr_security.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr_trusted.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr_user.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00