btrfs: send: handle unexpected inode in header process_recorded_refs()

Change BUG_ON to proper error handling when an unexpected inode number
is encountered. As the comment says this should never happen.

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2024-02-06 22:47:13 +01:00
parent e80e3f732c
commit 5d2288711c

View File

@ -4186,7 +4186,13 @@ static int process_recorded_refs(struct send_ctx *sctx, int *pending_move)
* This should never happen as the root dir always has the same ref
* which is always '..'
*/
BUG_ON(sctx->cur_ino <= BTRFS_FIRST_FREE_OBJECTID);
if (unlikely(sctx->cur_ino <= BTRFS_FIRST_FREE_OBJECTID)) {
btrfs_err(fs_info,
"send: unexpected inode %llu in process_recorded_refs()",
sctx->cur_ino);
ret = -EINVAL;
goto out;
}
valid_path = fs_path_alloc();
if (!valid_path) {