Commit cdf6509
ext4: fix FS_IOC_GETFSMAP handling
commit 4a622e4 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 <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>1 parent a6c8939 commit cdf6509
3 files changed
+68
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
188 | 238 | | |
189 | 239 | | |
190 | 240 | | |
| |||
539 | 589 | | |
540 | 590 | | |
541 | 591 | | |
| 592 | + | |
542 | 593 | | |
543 | 594 | | |
544 | 595 | | |
| |||
560 | 611 | | |
561 | 612 | | |
562 | 613 | | |
563 | | - | |
| 614 | + | |
| 615 | + | |
564 | 616 | | |
565 | 617 | | |
566 | 618 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6999 | 6999 | | |
7000 | 7000 | | |
7001 | 7001 | | |
7002 | | - | |
| 7002 | + | |
7003 | 7003 | | |
| 7004 | + | |
7004 | 7005 | | |
7005 | 7006 | | |
7006 | 7007 | | |
7007 | 7008 | | |
7008 | | - | |
| 7009 | + | |
7009 | 7010 | | |
7010 | 7011 | | |
7011 | 7012 | | |
| |||
7016 | 7017 | | |
7017 | 7018 | | |
7018 | 7019 | | |
7019 | | - | |
| 7020 | + | |
7020 | 7021 | | |
7021 | 7022 | | |
7022 | | - | |
| 7023 | + | |
| 7024 | + | |
| 7025 | + | |
| 7026 | + | |
| 7027 | + | |
| 7028 | + | |
| 7029 | + | |
| 7030 | + | |
| 7031 | + | |
| 7032 | + | |
7023 | 7033 | | |
7024 | 7034 | | |
7025 | 7035 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
| 262 | + | |
262 | 263 | | |
263 | 264 | | |
264 | 265 | | |
| |||
0 commit comments