diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2025-03-08 11:36:02 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2025-03-08 11:36:24 +0100 |
commit | 86ea895b1a208925dfc034fac22db2a512a3fab8 (patch) | |
tree | c64474ff3826503404d989e631bb2c4f7b422757 | |
parent | 311de4e36b94d5956fc29197a26f35d9dd913f3b (diff) |
ext2fs: Fix failed assertion on ENOSPC
find_block ignores EINVAL errors, we need to reconstruct it
-rw-r--r-- | ext2fs/pager.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext2fs/pager.c b/ext2fs/pager.c index 61db0dff..e8a5a66a 100644 --- a/ext2fs/pager.c +++ b/ext2fs/pager.c @@ -410,7 +410,11 @@ file_pager_write_page (struct node *node, vm_offset_t offset, void *buf) err = find_block (node, offset, &block, &lock); if (err) break; - assert_backtrace (block); + if (!block) + { + err = EINVAL; + break; + } pending_blocks_add (&pb, block); offset += block_size; left -= block_size; |