All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Coddington <ben.coddington@hammerspace.com>
To: Trond Myklebust <trondmy@kernel.org>, Anna Schumaker <anna@kernel.org>
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH 0/3] pNFS/flexfiles: honor clora_changed and report cancelled I/O
Date: Wed, 24 Jun 2026 15:50:55 -0400	[thread overview]
Message-ID: <cover.1782329389.git.bcodding@hammerspace.com> (raw)

RFC 8881 section 20.3.3 lets CB_LAYOUTRECALL carry clora_changed: when it
is FALSE the client may flush modified data to the data servers before
returning the layout; only when it is TRUE should it stop writing to the
DS and redirect through the MDS.  The client decodes cbl_layoutchanged but
has ignored it since commit b739a5bd9d9f ("NFSv4/flexfiles: Cancel I/O if
the layout is recalled or revoked"), cancelling in-flight DS I/O
unconditionally -- which can leave a write incomplete at the DS with no
write layout held.

This series teaches the client to honor clora_changed: on an unchanged
recall it drains its in-flight DS writes before LAYOUTRETURN instead of
cancelling them; when it does cancel (changed recall, or revoke) the
cancelled I/O is reported to the server as NFS4ERR_NXIO so it can
reconcile the affected mirror instance.  Patch 1 adds clora_changed to the
recall tracepoint.

Based on v7.1.

Benjamin Coddington (3):
  pNFS: report clora_changed in the cb_layoutrecall_file tracepoint
  pNFS: honor clora_changed when recalling a layout
  NFSv4/flexfiles: report cancelled I/O as a layout error

 fs/nfs/callback_proc.c                 |  5 ++-
 fs/nfs/flexfilelayout/flexfilelayout.c | 23 ++++++++++-
 fs/nfs/nfs4trace.h                     | 55 +++++++++++++++++++++++++-
 fs/nfs/pnfs.c                          | 21 +++++-----
 fs/nfs/pnfs.h                          |  2 +-
 5 files changed, 92 insertions(+), 14 deletions(-)

-- 
2.53.0


             reply	other threads:[~2026-06-24 19:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-24 19:50 Benjamin Coddington [this message]
2026-06-24 19:50 ` [PATCH 1/3] pNFS: report clora_changed in the cb_layoutrecall_file tracepoint Benjamin Coddington
2026-06-24 20:30   ` Anna Schumaker
2026-06-24 19:50 ` [PATCH 2/3] pNFS: honor clora_changed when recalling a layout Benjamin Coddington
2026-06-24 20:37   ` Anna Schumaker
2026-06-24 19:50 ` [PATCH 3/3] NFSv4/flexfiles: report cancelled I/O as a layout error Benjamin Coddington

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1782329389.git.bcodding@hammerspace.com \
    --to=ben.coddington@hammerspace.com \
    --cc=anna@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trondmy@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.