From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (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 83F3C4AA3F4 for ; Sun, 18 Oct 2026 14:15:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792332939; cv=none; b=uYdjD/eZgvU+Aqy8jcQ+gxE7/CdJtBFpDwsRZEySBaX9xhH7L05UCRm1Gd8ud8syEB7Y9FIp0aQyF9Z9sSYkC5YNBVajGUK07bSz1H2GGEeh+LPjpMLUOCraIGTgolVerMWodrkCDOT459++6cbJOmxchpHV3UEEd1874srqeUc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792332939; c=relaxed/simple; bh=Yaf6iuLHe8actk3BKFm9qaT5HChHLGZtnasGXPCiPMM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=CTjs+b61Ndca6sNB8KdrqHvEoCCIwF2oS+uAoPGtEjMqDp1rA1RS2zK6p0BNv6Wp6VXfVp21IRDt/K2oETWrzcSL9MTVRFi5SfcUAy/c5rfFpLSuWLl8w18K8fNzB0f0Vh+WXXrt3QTELDVq/d0s2viOZl92k4Wav4o40Dj7mB4= 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=NexwS/Kq; arc=none smtp.client-ip=209.85.128.50 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="NexwS/Kq" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4a0286c981dso14444345e9.2 for ; Sun, 18 Oct 2026 07:15:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792332933; x=1792937733; 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=KmiEv9QYBY76uU+OzcAGvNIgjVHfk6qce+e5ESrDlrA=; b=NexwS/KqA7PCwfO5MXw9vRrs1Fafcsr4g6sIjODrjsIATzDi6y2Kubmsm4s7ya1B0r cuRrb1KjFaSlsPIRQ302Q+rWkVSIhEQ8W8d4eF8EsXW2NfgI2ds/gpoki4pGMJzH4M+G Hne3WAlCHiT8csAXNe6xwkC+mdSoE/G+QegpSyhrfykgXHofy9Rt8vtqBq+nFG9v3Vpx wollY9md8LLeYq5JcqudXKOLChbXt0UuXVXnqepoAMrskhfco7w8mtQAwpnForQgD7a3 otZ4vKYxVT0otQB8Xwc7og84AaIEbsbwNUfFf5ME4atgQ3kNt/TcSTSLaM1VD1/xBiwr 7bTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792332933; x=1792937733; 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=KmiEv9QYBY76uU+OzcAGvNIgjVHfk6qce+e5ESrDlrA=; b=oR0Chn+VCcCh7lU56qsPooB8PcSDMnGl+ygSZ1imuP9sFYRxYIS5GnXCPJbnxZMj1m xuWaz2nHoK9yQWXNjD2jjcVuoSpfXAJ7l2Sl/nMNFDt+Ddk6RZEyd8FlJfudrz6OUDYt oH+TYfFHtvtftnnesEWpiWsPhVlW/Viuc69qAtaQUnRF7oHZrP1mLAkznu4svrpBk458 NlFkM0JkO7z3k2BtkX4hL7AU2Qo9sj7h1i1jn4xRE5OyGU9+bSwn/VwqcWRSSLj87CRx BUu8LObdX3gENZlI0cJMQKUgexG6mupPXVQ91Ra2U8gDhUKQPK/CufveV9wNxW8Bdp91 gg6g== X-Forwarded-Encrypted: i=1; AKwUvByH/j0oNiS2a1Q14i5cyMNsJqXF0x9CaWCjf2Yj3133Szn7dZQikKFWBlSGxkdGFjlP2aX46Y1Y6crCRok=@vger.kernel.org X-Gm-Message-State: AFq9FYIkYhwgGe+wggsCI0/IGU/6Wk6n4S8Nmflq9q9a6wXx/sDyAInu RPx14f/WenASJXi1dLDNk9FtH46D89Y/c6KApHWEnda9d6if08vtjWxY X-Gm-Gg: AYBFou3PFUvxTYxYBq+zOA9JfanYux9vFeBkRfa9RBLLXaDjY43b+MkS5NEifl9Sv3s z03NGOv7GotQcBVHcNOEjwRRbbCb1dXNQjE5YGwxCGY7uocEl4lxJMZX77P67gTatx3rftUB7mQ 2c1p2f15aMA2Rs/iA29u9dSNBJJQRQETZNaB05pUBcxaepJHWU+OHcwAGAyAgWTWWjcSWHH4vFs txpz3Wp1CotKPhbVs63MADyNzabkuHRDnNDE5BsvWlQS540y4ZJ1cDdoAtThOFYAjsHLKkb2d73 KUpXWlZ9LoQXdR9RUQERz0vWP+iUHuSC/h0tKd4UOjnyM4LfgPdBjgQjaXvOkMPnXIM5MHZdUkK RaOsl0Fsvvr90/TzeaQDXq88HD6vZVlSQSGv0KRQCMLZU44t7phz5Sih/pXDmVXfW6vZ2S7ydu2 860T6IfjpbomAeA7/pCMwxVJrCr5jCjsRhV1uYNNFw9fHcVf4ODZzNw1BOHoSXbhLxn0q+4daFo +Nf86iYwJX/WNRbZnfsYN4= X-Received: by 2002:a05:600c:1393:b0:4a1:d248:25b5 with SMTP id 5b1f17b1804b1-4a1d760e327mr106868805e9.24.1792332933237; Sun, 18 Oct 2026 07:15:33 -0700 (PDT) Received: from LAPTOP-AVI.taile24b5.ts.net ([2a06:c701:4778:c500:d430:1e43:f3d6:7b9e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48dfd4f8bd9sm17717587f8f.35.2026.10.18.07.15.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2026 07:15:32 -0700 (PDT) From: Avi Weiss To: Trond Myklebust , Anna Schumaker Cc: Jeff Layton , Lance Shelton , linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Avi Weiss Subject: [PATCH] NFS: update ctime for atime-only UTIME_NOW requests Date: Sun, 18 Oct 2026 17:15:28 +0300 Message-ID: <20261018141528.1985569-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: 8bit When an NFS client holds a timestamp delegation, utimensat() with atime set to UTIME_NOW and mtime set to UTIME_OMIT reaches nfs_setattr() with ATTR_TIMES_SET but without ATTR_ATIME_SET. There may be other paths that can reach here as well. The delegated-atime fast path treats this as an implicit atime update, clears ATTR_ATIME and returns success without updating ctime. Add check for ATTR_TIMES_SET along with ATTR_ATIME_SET (OR) so explicit timestamp requests use the normal SETATTR path while incidental atime updates can keep using the local shortcut. Fixes: e12912d94137 ("NFSv4: Add support for delegated atime and mtime attributes") Signed-off-by: Avi Weiss --- fs/nfs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 3022454f7698..255d7369cb3c 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -740,7 +740,7 @@ nfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, } else if (nfs_have_delegated_atime(inode) && attr->ia_valid & ATTR_ATIME && !(attr->ia_valid & ATTR_MTIME)) { - if (!(attr->ia_valid & ATTR_ATIME_SET)) { + if (!(attr->ia_valid & (ATTR_ATIME_SET | ATTR_TIMES_SET))) { nfs_update_delegated_atime(inode); attr->ia_valid &= ~ATTR_ATIME; } base-commit: 32c52ec87d6245ee2d12ed5dd509e40062939b50 -- 2.43.0