From nobody Tue Sep 29 09:08:36 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E274A3B14B4 for ; Mon, 10 Aug 2026 09:47:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786355229; cv=none; b=T6g9GwsxQF1Ged+wd47t6pKq5XUU7V1oml2yrRHc2Q5uinZVZN4hLgqFN2l9L6LF/NiMxTPYOnc1klJCRAIHt5RvabhpTy4ZibRnfrGFmnbWwlu14wTbPNmM34I2610bm1SLEXCl46M2rSsoAZMqsFpsHuRlOZO3GBXkjOnwzQg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786355229; c=relaxed/simple; bh=xoG69CcLj1RffYuQvFhXEqg3Ihe85zezuVpz629o4DQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=EGwClVeqNbi3VcrALOOWdiyExwws0jzhLw0Gu6kGpyc208Z2duKN80vCjYPevmTn+x9GVsnU30d41w6gnAHheNYctEXO4J/BQtHNR/zZtUxUlZLs8tgz0VLd1k5KYhZ4jTi8Wq5UO8WmdhWPpXvAZeL0l6w/kgAvRfsRxwag5Gc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fVfjBaBq; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fVfjBaBq" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-47db714766aso2389717f8f.0 for ; Mon, 10 Aug 2026 02:47:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786355226; x=1786960026; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=h82Mzmw0iUFB8+VfIJrhKcrh1YoeZ/U7bPv3oW3DrCw=; b=fVfjBaBqvy7awAuzZ0RfcPlOOeijCH9RgD0X6yxweGQRo2sUPmkX+ieOMg3VihmCpD A8eSY1UXGY1juVmsRf/VYOSn64PnTLM66BNQVeY40+zHSTlIX30kgevJQo/bgD/QfhSH Zs4UuCkNZnjecARJ1PiCKnTJWo9TxM2SVdG4qMChOHS062kf3YYjDgRO4K8NeaY9VMqy 2EI6/H9+4mcxSKs2XB6p+T1DD4Vo2vZdQJ+U1xnk0dIapRDhw8e2V8CI8AzPPC8PGXB0 XA/Nrh4LwuNmHLUzzbWnzXWwIEZJebH9HbNuF3PZBgs6rSZEzY8nzLMZnqo4ZLhQ77SA hZHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786355226; x=1786960026; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=h82Mzmw0iUFB8+VfIJrhKcrh1YoeZ/U7bPv3oW3DrCw=; b=cVlJq56uDOgEl1uoSQGyBuZ70/88/L6/Hhr7ClQcSau3R7QLkbyfd5vKeSahXyC5Us na/4SUCkJGnF8oZ9PkzznTmTvyfR8KBsYgua9yR6f7nUoRSCwajnKCBqfSQC1hKVpNRu EaEbicbHVLL8dJW67i/cfWmwAlWTGRbpJrMPSq9lb7S0VAwhGNh48FRS+NnO1NRgLBxk vapuehnLBYCtSyegtRixB4qgPxvqfaRwdUTASlXF5DwSJm8tVA1qmo8C9XceSiKCXgL7 eka9q+5OPmP/azaItVMeeFsqAuK2bMNDISgLi1U6usxtEn6uYV8Nlrtjfpfz8jgmPFe6 oH1Q== X-Forwarded-Encrypted: i=1; AHgh+RpGRN5wD24/lRIPou6dMZk73v+BOMQrKIE8YfymO2NBOpnF0wQSHt3JtP+DY5OsfSajWVojn5zt+VLia58=@vger.kernel.org X-Gm-Message-State: AOJu0Yynw+uWjv1Qvln/klQ0WwGyVPoVU7vBKuix6vODiFLzltzug4sa jWHt9M8lYwHVpUcelBFNUTN/Dnl3SLtWL4f3zUPj5zh/IjMWoTQ0Yw3D X-Gm-Gg: AR+sD12WsLUYQkHbphm6VEC5Zt4SnB5RbUO8tueYvPjAhXouvn8fjKt81A3P/OpaxDs Sl+fxxlbI8gARffpiShYE2HNeH2m2o4rNVFyhlpKTKtJ952ivHdcVFMEAruy0s273G15aqtAb3s /FALXyi/vixQIJgBcOz7P5wnWe4jw5wchRnOOMztFm5jj/cKuJnImPsgDxKR+7zwZbgX+GYLl1C r3Ik3GipBndqVXlPlvwhLPO0MyPYdoxxUK+RW2Z/kVpWUWM4WQSZMWewnGSqANaJpeVg2wPkf6t eSxW/ih+M3SAUB0Xin6KknFCfsq+POyTi4C05bmFNS710iqNZFeItqZOQXXj5G92k//ArGL1i6e VezOce1h1OSLXO3lmLEwdsYuiHFj5mgThX09vJPYJahU5onUJX+x2UfS2MYgvdrxbUlO2rQL5+U QistV+szKxsXMlZ6Udx+uQzyo5f1UOMSuACTcnn8FdlsDPoBhRKD3o7m6N8Ocfm+jHw2G0s9OqN HxCV1l1e5eJ X-Received: by 2002:a05:6000:2889:b0:47f:90f1:68c8 with SMTP id ffacd0b85a97d-48131915e4cmr23775011f8f.1.1786355225923; Mon, 10 Aug 2026 02:47:05 -0700 (PDT) Received: from LAPTOP-AVI.taile24b5.ts.net ([2a00:a040:1b7:4f41:9845:412b:2e1:ab73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4813ccea399sm17174580f8f.13.2026.08.10.02.47.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 02:47:05 -0700 (PDT) From: Avi Weiss To: David Sterba Cc: Chris Mason , Filipe Manana , linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org, Avi Weiss Subject: [PATCH] btrfs: send: propagate errors from is_inode_existent() Date: Mon, 10 Aug 2026 12:47:01 +0300 Message-ID: <20260810094701.1349706-1-thnkslprpt@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The direct-return refactor in commit b3047a42f55d ("btrfs: send: directly return from will_overwrite_ref() and simplify it") changed will_overwrite_ref() to return directly instead of going through the common out label. That resulted in a negative return value from is_inode_existent() to start being converted to 0, making lookup errors unable to be distinguished from the inode not existing. process_recorded_refs() expects negative errors from will_overwrite_ref() and aborts processing when it receives one. Return the value from is_inode_existent() to restore the previous error propagation behavior as it was before the refactor. Fixes: b3047a42f55d ("btrfs: send: directly return from will_overwrite_ref(= ) and simplify it") Signed-off-by: Avi Weiss Reviewed-by: Filipe Manana --- fs/btrfs/send.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c index 3ae480c7474b..a888202397ed 100644 --- a/fs/btrfs/send.c +++ b/fs/btrfs/send.c @@ -2066,7 +2066,7 @@ static int will_overwrite_ref(struct send_ctx *sctx, = u64 dir, u64 dir_gen, =20 ret =3D is_inode_existent(sctx, dir, dir_gen, NULL, &parent_root_dir_gen); if (ret <=3D 0) - return 0; + return ret; =20 /* * If we have a parent root we need to verify that the parent dir was base-commit: af5534fe2fbc006e83d75d6283dfc5ec75d5d780 --=20 2.43.0