Commit 5223e04
fuse: fix premature writetrhough request for large folio
When large folio is enabled and the initial folio offset exceeds
PAGE_SIZE, e.g. the position resides in the second page of a large
folio, after the folio copying the offset (in the page) won't be updated
to 0 even though the expected range is successfully copied until the end
of the folio. In this case fuse_fill_write_pages() exits prematurelly
before the request has reached the max_write/max_pages limit.
Fix this by eliminating page offset entirely and use folio offset
instead.
Fixes: d60a601 ("fuse: support large folios for writethrough writes")
Reviewed-by: Horst Birthelmer <hbirthelmer@ddn.com>
Reviewed-by: Joanne Koong <joannelkoong@gmail.com>
Signed-off-by: Jingbo Xu <jefflexu@linux.alibaba.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>1 parent 9587fde commit 5223e04
1 file changed
Lines changed: 4 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1248 | 1248 | | |
1249 | 1249 | | |
1250 | 1250 | | |
1251 | | - | |
1252 | 1251 | | |
1253 | 1252 | | |
1254 | 1253 | | |
| |||
1275 | 1274 | | |
1276 | 1275 | | |
1277 | 1276 | | |
1278 | | - | |
| 1277 | + | |
1279 | 1278 | | |
1280 | 1279 | | |
1281 | 1280 | | |
| |||
1305 | 1304 | | |
1306 | 1305 | | |
1307 | 1306 | | |
1308 | | - | |
1309 | | - | |
1310 | | - | |
1311 | 1307 | | |
1312 | 1308 | | |
1313 | 1309 | | |
| |||
1319 | 1315 | | |
1320 | 1316 | | |
1321 | 1317 | | |
1322 | | - | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
1323 | 1321 | | |
1324 | 1322 | | |
1325 | 1323 | | |
| |||
0 commit comments