From nobody Wed Jun 10 09:22:54 2026 Received: from mail-oa1-f47.google.com (mail-oa1-f47.google.com [209.85.160.47]) (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 D4F36331ED0 for ; Tue, 9 Jun 2026 20:22:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781036539; cv=none; b=LixxsYeMPUtcJGYGaDS3mLh1l+RRohG/por/xN0MipKyDzohzWbDVsQQoNG9wkswd7kAfwc7VmRgjD4ikiVdqdBcKBdG3OT8VVzqp6w+iaAchBriCyxRC7uqj4au47hZgnqR3V06hsQK/uBhibkMllFjj1RMZmhbtuU6VS/tZoU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781036539; c=relaxed/simple; bh=G7wiigdU6vV1lII5kNx4T7QY98PZzFdThZZfSKMMfXc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=e6cqSsj988HOaudEZxLhAcV/1zAdwysa/9Wqy6qhK4rN3/xHTGR6AApsaTZIJOp0Cj24g3GwBNj+655vdedYFBlTZChnvyXXT8RZPEGWaaOvTmRv0f8DO10/GPEwVOfFLZiTzXONKjPID9MzHfq8WDqhR/CxwSQ/2tUv6LLh0f0= 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=Nk3KPlxG; arc=none smtp.client-ip=209.85.160.47 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="Nk3KPlxG" Received: by mail-oa1-f47.google.com with SMTP id 586e51a60fabf-43cce34c881so4499870fac.2 for ; Tue, 09 Jun 2026 13:22:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781036536; x=1781641336; 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=MyKzYwyN8XFtjIuYSRUDu+cXND7kKn1hDM3fJApHDs0=; b=Nk3KPlxGd44xFqU7OEXUEk5fPdOBw7KZDmaVRXQ4ofAfumI7qKLkvVxvtc7kU7Qc0e auAjkPve321iTUELE74kjaossDaW3hCMlGh8j0f7SPcrKrnMjVrXrpJ2QM8seiy1PUtr HyJ/qVnZivMr7AgjI16WkBBM75qNkoCFRgUMUJCkC7RRSplE2LPu4w1q12RQFDjRc9cm LlPor9a9rDqcHiWXR57rEAmRNaeepm5GvRnpoJqVLimzQVlnyBtMkHWfkOuHIuqA+LBA 2/My4fl9zd5GGB4xWsKmwUWC8UJoDc2HDUrrVODrgeSRSjqtW7n4J4E5Wkjf4lkTpike jomw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781036536; x=1781641336; 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=MyKzYwyN8XFtjIuYSRUDu+cXND7kKn1hDM3fJApHDs0=; b=RCR6kL5uTw73hO7c2YFdo0lvPWbcbhdcmg6e33dDpi6nurd57p1e4i0035UUt3Xahx TdhcIA7sAyqJopbrI08iFYVzr8zZBmctv+Z3pgi2cqdn3EwRjAkrTUDbfjSibznd1UvO i5NngebcQXAYgrlFnbn88/8XBCnR4OQ+wBGTeIFvJI+1Aq06acqayqYRvY67d/GDts1f 7EkbJ2/OAuOF4JzEoZXyL9lyM8HAA8wQJXTYr52lV2s5WUlvSsiKMcK1V1jKl+dRez1o +uOPNnuBBcRwgOW1StqG5y/0ON5Due+Gvuh+31SLPPRp99PNWMVnshkWegIOpCiFP2UZ jWhg== X-Forwarded-Encrypted: i=1; AFNElJ/+KXgwIWUcWaV7eviYUX8v1lWuQB/HwA0s6LcGZeETDzTS92IwYvZmDzx3CDy5xTbe+A6RapOCCSPW9EU=@vger.kernel.org X-Gm-Message-State: AOJu0YyBuqqZDwwlE96y0szqxRxGWNkC0sUbWH8VqbE3aXC8XDjIx99v EbFC3nHkcJbOjcT3y6WPoTJ2WpkPA80WHjL7ghd5UXWySKaA/YcRY3vO X-Gm-Gg: Acq92OFOsHTQk1PBVSr8/GrHzmS9hgnd9SuYrpL2imPAG2TEMaoO6EWt4RaN0vrhCh0 cYmBPBYtUsesQZiO+sbvWmliwf6kvWS0utZi2Z5IZAYn3I4YZUxCWIDb4FvYW/s6c1SoscWX9t2 u3i2T2wgJ/69hQBSi5lvmovXgkYZXvToXxKs8kpQ/5xDCHi2kgdufpmii7viSiyJBUJIYByG6eZ F26zfI2Z70oJ4/122WMfQj1vS6oqJqfWFyHVhjQlG6Q7CUBUGigDCjcKuvkp8K6GZMnQgJZKRYW liZ6PDJP789Lb1da7L48Iur3xaEjaX9gJOox/KNaszWkqSAgc80r7CZtbBp6rbNUIKRcwYnxnqk hBLCduQHO5Dl3xReLVGmMtagrAv3lRp2KRK5jRL9xVsQ6k/S69aLNg02yO0xj2LqWf/s6sQ5jcW rLFPybhKUEG/5/OOo+YzUhaf5z+iXjETAUhJMyqAHkB4xClktq5HVEQcQlVL4LjLYf X-Received: by 2002:a05:6808:1185:b0:484:afc2:eee3 with SMTP id 5614622812f47-4868dbf2a5fmr12532868b6e.5.1781036535807; Tue, 09 Jun 2026 13:22:15 -0700 (PDT) Received: from localhost.localdomain ([143.166.81.254]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4865b5a5a64sm16888419b6e.4.2026.06.09.13.22.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Jun 2026 13:22:15 -0700 (PDT) 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@dell.com, Stuart Hayes Subject: [PATCH v2] scsi: target: Allow FUA if no write cache enabled Date: Tue, 9 Jun 2026 15:21:56 -0500 Message-ID: <20260609202156.90700-1-stuart.w.hayes@gmail.com> X-Mailer: git-send-email 2.47.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 code to ignore FUA bit in commands to targets 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 --- v1->v2: - change to only ignore FUA bit set when no write cache is enabled, instead of advertising DPOFUA support --- drivers/target/target_core_sbc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_= sbc.c index 21f5cb86d70c..ffd2b6c9bd23 100644 --- a/drivers/target/target_core_sbc.c +++ b/drivers/target/target_core_sbc.c @@ -754,6 +754,12 @@ sbc_check_dpofua(struct se_device *dev, struct se_cmd = *cmd, unsigned char *cdb) } if (cdb[1] & 0x8) { if (!target_check_fua(dev)) { + /* + * Silently ignore FUA if there's no write cache. + */ + if (!target_check_wce(dev)) + return 0; + pr_err("Got CDB: 0x%02x with FUA bit set, but device" " does not advertise support for FUA write\n", cdb[0]); --=20 2.47.3