From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 53F3444D688 for ; Thu, 30 Apr 2026 17:21:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777569674; cv=none; b=u+tmEIJk8DsX3+yHE1A4NCBinxDFxZMo20CeAoXi3DOGyIDGXHvzwKnW5caYww/By97iF659vc1Qw4vzpxaowJZO32lzPv2t2ewCMigVaL9J7M3ylJ1sq5txE56/YSjcVUx86+XKzwcV0Durmtv0oloLngDdkMfm2guqV4QatWA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777569674; c=relaxed/simple; bh=umo4zIPzLejFoJtAFxdj3s7yRQi2X8Xhk9rRZgAVPcY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GaLKnTWaoKLrfUm9fLDjwL5G+dckUNhRsH5BR7IzluQan/x+beriDFGvq01dsdB/kMrQ0uoMTJr+MuDCxIBcaH5mv+U0jzW2xxCyNaiImad9VnQGsSlXRerDPh86QVvPzsmN37hBs2YtoYQ50KApx4OjC8nrmv6HRwM/vW3o61s= 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=p+4B8sGY; arc=none smtp.client-ip=209.85.214.173 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="p+4B8sGY" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2ab08e6c553so493165ad.3 for ; Thu, 30 Apr 2026 10:21:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777569671; x=1778174471; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=J6IbrhHuu9LdihQtZR7Baqf3GnWs6lIG8jJXLzb7smA=; b=p+4B8sGYdZkBwT7u1Ri4neTsu00fmKitfGh5767VBrpUEpLHwDPXXNuFHE4cixHVL4 lsoEZNAsP618HIjTYJXHfNC4V2DpJMPaFdt87I0yp7OmyqM0NqeDb1d7MtEqkK2AzoQZ +jyRgxFIIR7gYC91lPzLxvQ0tDAQHu4k5rNY5WZPOH8JEffUPkftp0+tmbl1Y8m7s9Go sz2dtgf2ZgLHnHs2ytCaUTNQYH0yQFfdSLJZu66uycbZs1lzWmgckYSqr7L7OTffJTWr cTXZ8RtTcabSMNmX2O+FaR6TZxOXu9cPq1AtdR7MBhXZFoBco5wuwd1TLK/+VD80p2rp FSKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777569671; x=1778174471; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=J6IbrhHuu9LdihQtZR7Baqf3GnWs6lIG8jJXLzb7smA=; b=rbJ4i1Cl4U/x/kH11wz1IHMWAigI/5AhPiIA8td1vqvrVjF4HPhT5DK/bIKrvzlpBu u6ttW2GAQObd2rPxPuVjXROG7Ht5Wv1mzBUtEFzpsP8RMpt0FUzUT8NYKoBdbnKwjPg+ VmYs3eU+vmoTIa8d6n1GZLoM/rRjBy3E3B6K+QC/P+Ffye5Z3RFkRtadxxe4oqLKkEnW gNyJvi1HQAlJgc97Q4MtTzAU+jiTnN9LshKqZsyUfBGDMTbYe39U7B5ETRYdASrk+xOh t05cNFocbSfM/AD4XvCVehL35+jrdR2Agx49m/C1c37AysGJGFuEeNx/H+00XPcXG/rI 2fOw== X-Forwarded-Encrypted: i=1; AFNElJ9wCUmszyUBfuNiGm+3ge1Ip0ZumWMuVBEHOqA/Vi69Li/ARtw1SRCUEn38T43dDtEfFiW78hfdM21Jn9I=@vger.kernel.org X-Gm-Message-State: AOJu0YybNGlV476wiPUTpfsmVbZY2GQbABMM4TB9EQDir5HZNTjZEOql 0mKbozaNDSF+hZmwvlY8j/jIWI6djphBwWVcKu76kt1Cad7oRk5rWZ4BsXuJyA== X-Gm-Gg: AeBDiev/HruRUPIddMIhpKr577jv59dgChBuOCXViK7WTENjuyJ3T/3Mv1vSRBFVE86 9XVSqnjJnt/Dfq+e8qPWe+ebRNgj8IHZttwWzd/KxCnarKhJDlrZhXYpps05NUVJDug1bFeExRo WZQNDj9nTEbgx0634PO9109ldiK/R7AWqnVUBG92sVReMV6om+LKr2D5h+wc0GMam0W6j0ihLbk 5gAEAiDOoLU3KGVZj4ygQA7P46JeeNLt2ccvTlTocqcP752z1N0tHxGksIbdZd4b0bihe2c6gcU to5WdVD6/U24q7WWBf5rWc2i3NhVNMS2dV1kOH9FLPDQV2WnJ9ToNzlPMc/ZpDAmP/3A3cBh190 SqVXOWWXZk42ch2oBhMsXpKtZBE7IpIYjRGsGdLIxZb54I+aZ/Snwl+ALR7J2xYszC54wjItrCB 7Fm7RVJeeD4lyyV87OJu5ovIdHZe0= X-Received: by 2002:a17:902:f650:b0:2ae:3f3f:67c4 with SMTP id d9443c01a7336-2b9a1cf7d35mr21854375ad.0.1777569671378; Thu, 30 Apr 2026 10:21:11 -0700 (PDT) Received: from ser8.. ([221.156.231.192]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b9caa7e7besm2043795ad.12.2026.04.30.10.21.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 10:21:11 -0700 (PDT) From: DaeMyung Kang To: Namjae Jeon , Hyunchul Lee Cc: Arnd Bergmann , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, DaeMyung Kang Subject: [PATCH 3/3] ntfs: capture mft mirror sync errors in ntfs_write_mft_block() Date: Fri, 1 May 2026 02:20:55 +0900 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit After ntfs_sync_mft_mirror() became able to return real I/O errors, ntfs_write_mft_block() still discards its return value at the call site inside the per-record loop. A failed $MFTMirr write therefore leaves the volume looking clean from the writeback path even though the on-disk mirror is now stale. Capture the return value and feed it into the function's existing @err variable using the same "first error wins" pattern already used on other failure paths. The error is propagated to the caller and, via the existing tail of the function, sets NVolErrors so umount and chkdsk see the volume as inconsistent. Fixes: 115380f9a2f9 ("ntfs: update mft operations") Signed-off-by: DaeMyung Kang --- fs/ntfs/mft.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fs/ntfs/mft.c b/fs/ntfs/mft.c index 00f172fd1b21..866816f710b5 100644 --- a/fs/ntfs/mft.c +++ b/fs/ntfs/mft.c @@ -2862,9 +2862,13 @@ static int ntfs_write_mft_block(struct folio *folio, struct writeback_control *w } prev_mft_ofs = mft_ofs; - if (mft_no < vol->mftmirr_size) - ntfs_sync_mft_mirror(vol, mft_no, + if (mft_no < vol->mftmirr_size) { + int sub_err = ntfs_sync_mft_mirror(vol, mft_no, (struct mft_record *)(kaddr + mft_ofs)); + + if (unlikely(sub_err) && !err) + err = sub_err; + } } else if (ref_inos[nr_ref_inos]) nr_ref_inos++; } -- 2.43.0