From: Ilya Dryomov <idryomov@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] Ceph fixes for 7.3-rc1
Date: Fri, 28 Aug 2026 20:21:20 +0200 [thread overview]
Message-ID: <20260828182122.1668032-1-idryomov@gmail.com> (raw)
Hi Linus,
The following changes since commit 8d3ae59288f1e7d58d76558a6ee96d533bc5019f:
Linux 7.2 (2026-08-16 14:32:26 -0700)
are available in the Git repository at:
https://github.com/ceph/ceph-client.git tags/ceph-for-7.3-rc1
for you to fetch changes up to 8fdf946445732c2bcd685abc8bd0e509d2ebc158:
ceph: force a cap message when a deferred revoke can't be acked immediately (2026-08-26 19:57:29 +0200)
----------------------------------------------------------------
A wide variety of mostly CephFS fixes and cleanups, split between
changes that address edge cases (Sam, Xiubo, Matthew), efficiency
improvements (Max) and AI-assisted hardening (Michael, Jeremy).
One thing that stands out is Alex's change to how CephFS behaves in
NEARFULL scenarios: the long-standing "make all writes synchronous"
behavior has become opt-in. It was always somewhat controversial and
doesn't make much sense for modern deployments; the new default is to
continue normal operation (i.e. buffer writes as MDS allows, etc). The
behavior in case the cluster reaches any FULL state remains the same as
before.
----------------------------------------------------------------
Aleksandr Nogikh (1):
libceph: validate banner payload length
Alex Markuze (1):
ceph: make nearfull sync writes opt-in
Hongling Zeng (1):
ceph: Fix ERR_PTR(0) in ceph_mkdir()
Jeremy Jean (2):
ceph: reject export_targets ranks >= CEPH_MAX_MDS in mdsmap decode
libceph: reject buckets with mismatched CRUSH ids
Marco Crivellari (1):
ceph: Change system_unbound_wq with system_dfl_wq
Matthew Brown (1):
ceph: fix leaked inode reference on writeback abort at umount
Max Kellermann (9):
ceph: skip __touch_cap() most of the time
ceph: use detach_cap_releases() in ceph_send_cap_releases()
ceph: make __ceph_remove_cap() static
ceph: add helper function ceph_cap_is_removed()
ceph: mark cap remove with RB_CLEAR_NODE() instead of setting ci=NULL
ceph: pass inode pointer around instead of reloading it
ceph: drop mdsc->mutex before decoding the MDS reply
ceph: do not repeat ceph_trim_dentries() if no progress possible
ceph: force a cap message when a deferred revoke can't be acked immediately
Michael Bommarito (6):
libceph: validate OSD extent maps before cursor advance
ceph: bound copied dentry name length in NFS export get_name
ceph: bound xattr value length in __build_xattrs()
ceph: bound MDSCapAuth path and fs_name decode in handle_session()
ceph: bound num_export_targets array for mds info v2/v3
ceph: cap delegated inode count in ceph_parse_deleg_inos()
Sam Edwards (2):
ceph: pass fscrypt `tname` buffers directly
ceph: properly decrypt filenames in vmalloc() buffers
Tal Zussman (1):
libceph: remove ceph_put_page_vector()
Xiubo Li (7):
ceph: use GFP_NOFS for cap flush allocation in writeback path
ceph: use GFP_KERNEL consistently in __ceph_pool_perm_get()
ceph: do not cache negative dentries for snapped directories
ceph: fix use-after-dereference of NULL ci in __ceph_remove_cap()
ceph: revalidate ki_pos for O_APPEND writes after cap acquisition
ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock
ceph: fix UAF in check_new_map() on session freed during unlock
Documentation/filesystems/ceph.rst | 6 ++
fs/ceph/addr.c | 30 +++++--
fs/ceph/caps.c | 166 ++++++++++++++++++++++++++-----------
fs/ceph/crypto.c | 50 ++++++++---
fs/ceph/crypto.h | 4 +-
fs/ceph/dir.c | 22 +++--
fs/ceph/export.c | 26 ++++--
fs/ceph/file.c | 56 ++++++++++++-
fs/ceph/inode.c | 3 +-
fs/ceph/mds_client.c | 110 +++++++++++++++++++-----
fs/ceph/mds_client.h | 1 +
fs/ceph/mdsmap.c | 11 ++-
fs/ceph/super.c | 10 +++
fs/ceph/super.h | 45 +++++++++-
fs/ceph/xattr.c | 1 +
include/linux/ceph/libceph.h | 2 -
net/ceph/messenger_v2.c | 5 ++
net/ceph/osd_client.c | 30 +++++++
net/ceph/osdmap.c | 2 +
net/ceph/pagevec.c | 13 ---
20 files changed, 462 insertions(+), 131 deletions(-)
next reply other threads:[~2026-08-28 18:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-28 18:21 Ilya Dryomov [this message]
2026-08-28 19:50 ` pr-tracker-bot
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=20260828182122.1668032-1-idryomov@gmail.com \
--to=idryomov@gmail.com \
--cc=ceph-devel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®