From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53]) (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 15FF53101BD for ; Tue, 28 Apr 2026 20:39:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777408797; cv=none; b=EIh1bJEiqGh6GVmy+ma4owFef0/6mCvdfZJF+KQC0D1fH5UJ1QaNJ2Ciyfz/wn+IJG4Tnjz5Pyf1bT0xJqaTVYHypIci9/9yvuuayVhVy7PK9Vz9NiExo8KXmD6d4/xJcc06qh9PyR34p8tjSiYgcKMcBcxEJ/ObgKsabXPO90U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777408797; c=relaxed/simple; bh=SgcA+exyHXAqIJdItIDbidRJ+F4zZ7AWpIefSP+VdFs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=RD3cIPlhTNRCFES6OEdviexxbntBR1oGhAjkQFqtuinYliClSw5MO4kRUyoa8pTjiwoojXs94XAyB00lpqbU+WD4SHD/TzQiWwQE0EWjrZSkWBgLfU1sfZbc5jvnosMZ/gjzQ76ReQXr6e/Y8zT4cAxvm5asnhBma6Qm58HGcYg= 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=LdjgU3IS; arc=none smtp.client-ip=209.85.160.53 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="LdjgU3IS" Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-41708f6c3feso7399711fac.3 for ; Tue, 28 Apr 2026 13:39:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777408795; x=1778013595; 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=C+si7lg3A2lMf4zRs+JJ+IUUmngjpZnIXbiZMqlnVc4=; b=LdjgU3ISBuPX4xuNkqFPNE/ZGrFlz26TQ+LI6Nx1bNm0XvAm0mg/yl4QVA8vhY6QGB F6/DwPJSTmtpFKjnVcJV3tTGFt0jJ07/KFsY5RSp0Gv28IYEF3OiNZL4+kTgkXBU5ns3 lkUcBzlwkU7XdDWQYZa7+nku3QiWhuGYi+PGVv8t4ktXKwWkL/LrEklHr5xbO8YEUoS7 26SRoxW7/UylYtDJfsUoEN/L9cZft1+Z2dVzOGptU07L2SAlFOTTLugnnNuLs/yZSeeu 6eNW9hxlHMq5wnTzACYd2HfNYjcwOHsUh1iy3fITgoPVcZ2hvJiYTXJl7kXkD+yDluhe EkMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777408795; x=1778013595; 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=C+si7lg3A2lMf4zRs+JJ+IUUmngjpZnIXbiZMqlnVc4=; b=gLThmHtbWjBJ7M/B/GGtxE0v4Ljtb5DqtecFbtKkkFxYIVGt8twG6fzB2UXHEEO2o9 MmUCuLTamtNrxIO5X5X6ffOuv8CgT47jZKJS9IZ4OqiLSsVltbVPmhxWwKnUEfNDLL0A UkTMmbU6VajXLHjqgypivGIlwdrDeeLQu1yMd3qidQrBCROnYFb2N1mdUuQswm1/Sl4w M/zpVtSGFq5ohF1lTe+tIfGqXbXSEr+J1oPD4zLSQorQ33EYV7oITcQ/iJR69kLxcnRf 4Zx2ifhYtiJLSZBShm/Ts/Gs1GwHYjhRwceKXSxg0FixF5OfiYlrMyozju3xmRD8byvu TfRQ== X-Forwarded-Encrypted: i=1; AFNElJ/RpTVi79L4BThxirIdxbTwn6G5W8gJb+oK//Hz2c7QEipyLe6UgV1MENe92cLRL8QosGbT4a1zDroAEQ8=@vger.kernel.org X-Gm-Message-State: AOJu0Yx6Phi14ayFrwg0fGb7MKT1/eRhe6GKSX7Zaran7p3/jEcRT6/a wJy66Pux3Gf4UFvM607Vi5Xgu7PJaNo2QywBb8X06HYht/xenWKXAPml X-Gm-Gg: AeBDiet24EtBmrJa8LhynDuadp0BbQKs7js3Vtdf3vI4VH2ZVq00b7HYU57m3S83RxX N1vD5o0179ozlJOO+KvQs1NTjoo7qXqTj0t64/XqqWpd1seH+hl6c9ZHWwHazE0xEHSqLIdPFX2 kPiGoOBfc+bbbaJ74mTfY+xEJwtYtUIwGJheYCOISz+zLrhp11u3zbzq0vdIack60QSTvY0uL3m I1sSJio6UzLygVlI2MDaEr60e9jMjN1ECE9wMu8TE1CgDZEIz6koeJcekPgLpQ2D2GLhr9CgqKm Y6az7g79Qa16Hhv1qlYTlqgrOM4+T0sW+8dHV4YLMcTEoxsgzgDQk/WhTb4IfdAWfUP5E5RbOiH wMFSGoM3krs2CO3gZ8iBLLmAOXwyX8GC1p66wzqD8lAU7Uxx9RkBDs7LQ/Xjoop5YNsYBEcMill mn2Wp3q/k6Is58SPp7QnEDqrAaouR3H0KOZsW6OtqswMEgqJn+grmung== X-Received: by 2002:a05:6820:88b:b0:694:6acf:a42d with SMTP id 006d021491bc7-69668490410mr684717eaf.39.1777408795078; Tue, 28 Apr 2026 13:39:55 -0700 (PDT) Received: from localhost.localdomain ([143.166.81.254]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-4340e388b97sm233616fac.0.2026.04.28.13.39.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 13:39:54 -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 Subject: [PATCH v2] scsi: target: Allow FUA if no write cache enabled Date: Tue, 28 Apr 2026 15:39:38 -0500 Message-ID: <20260428203938.9738-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: 8bit 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 --- v2: rebased to latest upstream 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 fad03a15c969..0e07b224c4d0 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c @@ -3722,5 +3722,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; } -- 2.47.3