From nobody Thu Apr 9 16:33:20 2026 Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.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 8E9E636A01B for ; Fri, 6 Mar 2026 16:33:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772814819; cv=none; b=efmalJdPkGND8Eqf4dGQmVfDTqYX2nevbE22U8T5b2DI1FVJBwH0R7xnbcXqSGcsBTojqU/RVvXcgEt4Iai+q9GT5s9un5BB9BSLiINOpTPuaY8Z3KFhAev57Is+g3s+Rr7zYrYZr9B4PFPEA+luldECrTsu1FiNWLFbvR5mMPY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772814819; c=relaxed/simple; bh=soa4Mb9x9BiXMb92DMhtNIfidjS8cfTIKTboAYQ0Vc0=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=t9L7Ev1nZ6XzI275QalKbN8x7WnMjzoXO0THNqjGXbOgdduYMBUddYVvGisWKNOfJdP7MXPaz/kTqDFzeYWiHLFKQ+reymOintwmhkk1pi3rvRKJr2pSgvnX81zAZtojpKM7oLoi+qWvJ/iocTmB7yim/ng8/LgQUxbiFKeO9h8= 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=XWtuj3YD; arc=none smtp.client-ip=209.85.210.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="XWtuj3YD" Received: by mail-ot1-f42.google.com with SMTP id 46e09a7af769-7d19bfe1190so8192689a34.1 for ; Fri, 06 Mar 2026 08:33:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772814816; x=1773419616; 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; bh=9pXUn7snFM4BRtZU/N9MNTM6OBp5OTyzGBpocsYFXUI=; b=XWtuj3YDu4pCuYPXxYZJ9wagRTUjwCJ975j0QyslqmtfNSqsCD+aUiBYVnr4P11e9C fvCqJYpIvgYP+dgG0JWaZSZ0Bd3IHunw8kMpWg3Nxm1lSw7SLk/dDB7XbJljtJBr0nUt 0AKM6pw9aODs99q5PnUBb14InwBFBB4RgFG3t0so5VNLOVKHZz48/h0yB9ADzwvNkVv0 ApM1ynN2B0G1+TMEryQTfjrmy/XBdgjH3GAcBUkizAoyzPBtECyBVsnOUBmQmoO+9ybJ A84FnQXTcmDm1YIi8j+VygEdMfJu9Wm9SePcxSNEcfPKyw3/pAl/5aATT4B4YBvoqqQp 0z/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772814816; x=1773419616; 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; bh=9pXUn7snFM4BRtZU/N9MNTM6OBp5OTyzGBpocsYFXUI=; b=lZBmzmZXPbvf/auyN+0A61BykYQuxjpsSbN9osI/6Z7iF6pSg2lNwKV5UQ8MK0+rVj ZhcXl7nV8sQD3IX0G8tda5ET/Za07vdpvrVT9Q7Ebx/Wr74uAfOsdGsLH5tfywQb7owb A9vZkAazgUG4VpGGcmbWaDYOL5IoSsdSAc1HpTSKdlyYSMAlwiwaRN0oZh/qMHPhJOJn 5MmvlUqo6FiqnccV+6wcfaW3LwEKddZWnwgd2GID0GRHnR29vj0fZ4RB9v6DoTM5Mjrw aA08zXQClUkXatliHq1tHm5FADWPZtxvuUaQtwVAuoPTm/SyagwSacmlJmbDXg5CmwqN +ftA== X-Forwarded-Encrypted: i=1; AJvYcCX2zEgi8IxBZPNsOtJcvh6bjcnN6fv5tZLHLiYJVimDBCa2QwfeXI/Sg+JbRsvKK40r2nxeo4z4q/oN+Vo=@vger.kernel.org X-Gm-Message-State: AOJu0Yyh1Rm30aZwR+L7fzHMB3omwSkhVr9TeNe+XPcGdI88xoO2MnXr UQhQnDxj9xXeE69n1JP3IQtIPPXnp1xZpdNnTHQLRtsOyeSPpExDan70 X-Gm-Gg: ATEYQzx3QQvL8aLiTr5MjnzsAlXd9md1aImZNnb9AaliecxRvT8wGMIJuiSpBOoXdY0 HG1YSkM0ck7aYwL6RV4cfkisF3dXSHZrMbFa+yukvcGE5qseM9ngC4Q5+XibZgiEmo9LYbpYHgG JBOhQv553D2LhPLRGjIE/nu8hDbSs56IqPqz8teG5DVkt12GrC4TI96GOpg+J2lLZ1g7jkmoK76 yfwpUMw7jTzBQEsmreaEYPSZt0/c3zfkxv3qtEsAGXrdXqoIIe6S7pzRCAbwiVm4NCUb3i7xlwX NpLsCu9b68Ro/NvLZgBCADjelu3raODMErvKwkfWZDr983ZuOiamqe6AFOqKQoj8BK1pnzUSpGe iueqZRak8UMlhpFkNGi+g+QB6MA5+iBcnMg9ehoNwyM0Ly/i6EA9GHFNYc0CWBr0fqbxqzRaTeX c9SCp5nY5Uv9k9AUMhv6EnVHDeCVyAsvuQ90jUU8vKMUk= X-Received: by 2002:a05:6830:82bd:b0:7d1:9e9a:a55e with SMTP id 46e09a7af769-7d726e96dfdmr1929554a34.11.1772814816456; Fri, 06 Mar 2026 08:33:36 -0800 (PST) Received: from localhost.localdomain ([143.166.81.254]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d728c5b5f8sm1202567a34.3.2026.03.06.08.33.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 08:33:35 -0800 (PST) From: Stuart Hayes To: "Martin K . Petersen" , linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stuart Hayes Subject: [PATCH] scsi: target: Allow FUA if no write cache enabled Date: Fri, 6 Mar 2026 10:33:10 -0600 Message-Id: <20260306163310.11065-1-stuart.w.hayes@gmail.com> X-Mailer: git-send-email 2.39.3 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" Modify target_check_fua() to allow FUA support for devices with no write cache enabled. Without this patch, accesses with FUA set will be rejected, even though they always go directly to the media when there's no write cache. This is needed because EDK2 FAT filesystem code sets the FUA bit when writing, regardless of whether the device advertises support of DPOFUA. If a UEFI pre-boot write fails, the filesystem can become inaccessible until a reboot. This can cause linux installs to iSCSI to be unbootable, because some systems have firmware that will try to write a file in a vendor-specific directory under /boot/EFI (such as /boot/EFI/Dell) before attempting to boot to a UEFI boot entry pointing to a file in the FAT filesystem. Signed-off-by: Stuart Hayes --- drivers/target/target_core_transport.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/target/target_core_transport.c b/drivers/target/target= _core_transport.c index a7330c4fedde..f8da0dfcb5ae 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c @@ -3684,5 +3684,6 @@ target_check_wce(struct se_device *dev) bool target_check_fua(struct se_device *dev) { - return target_check_wce(dev) && dev->dev_attrib.emulate_fua_write > 0; + /* Allow FUA if there's no write cache */ + return target_check_wce(dev) ? dev->dev_attrib.emulate_fua_write > 0 : 1; } --=20 2.39.3