summaryrefslogtreecommitdiff
path: root/fs/ceph/Kconfig
AgeCommit message (Collapse)Author
4 daysMerge tag 'ceph-for-7.4-rc1' of https://github.com/ceph/ceph-clientLinus Torvalds
Pull ceph updates from Ilya Dryomov: "The two things of note here are the disablement of inline data support and a new lazyio mount option to enable LAZYIO behavior globally (instead of via an ioctl on a per-file basis), both from Xiubo. Despite being over a decade old, the inline data feature never lost its experimental status -- it has always been off by default and required passing --yes-i-really-mean-it flag to be turned on. It was officially deprecated in 2020 and is now in the process of being removed on the MDS side. For now it's still possible to re-enable it in Kconfig, but the code will eventually be dropped from the kernel client entirely. Outside of that we have a number of bug fixes, a series from Tal to help phase out older page APIs, some cleanups from Max and a large pile of LLM-based hardening patches. Xiubo is also back in a maintainer role, replacing Slava" * tag 'ceph-for-7.4-rc1' of https://github.com/ceph/ceph-client: (66 commits) ceph: fix uninitialized err in ceph_netfs_issue_read() MAINTAINERS: update ceph and libceph maintainers ceph: validate encoded xattr name lengths ceph: validate MDS reply fragtree split array length ceph: bound name skips in ceph_mdsmap_decode() by the message end ceph: validate fscrypt auth blob length ceph: check the caps of a closed file after caps_wanted_delay_min ceph: don't fail write_begin with -EAGAIN after flushing old snapc ceph: fail readdir when the MDS reply carries no dirfrag ceph: clamp MDS reply result code to the errno range libceph: initialize CRUSH choose argument weights libceph: fix out-of-bounds reads from repeated CRUSH bucket entries ceph: fix 32-bit overflow in readdir reply count check libceph: reject bad connect_seq in msgr1 READY reply ceph: Fix mds session leak in __open_export_target_session() ceph: Fix xattr buffer leak in __send_cap() ceph: fix integer overflow in the snap trace bounds check libceph: bound mon_command ack decode to front len ceph: use alloc_page() in fill_fscrypt_truncate() libceph: use alloc_page() in ceph_alloc_page_vector() ...
8 daysceph: disable inline data supportXiubo Li
Inline data support has been deprecated in the CephFS MDS and is being formally removed. Existing inline data can be migrated to data pool objects via MDS scrub (see PR #44359). Add CONFIG_CEPH_FS_INLINE_DATA (default n) to gate all inline data code in the kclient. When disabled, CEPH_FEATURE_MDS_INLINE_DATA is not advertised to the MDS, which will then refuse to open files that still have inline data, returning -EPERM and preventing silent data corruption that would occur if the kclient tried to read inline data from OSD objects that do not contain it. The conditional compilation is centralized in fs/ceph/super.h, where static inline helpers make all the inline data code compile out cleanly when the option is disabled, so that removing the option later only touches that one place. ceph_inline_version() returns CEPH_INLINE_NONE when the option is disabled, which makes every version comparison in the disabled build constant-fold to false; the stubbed out ceph_uninline_data() and ceph_fill_inline_data() are then unreachable. The MDS still carries inline_version + inline_data on the wire, so the reply and cap grant parsers keep consuming those fields even with the option disabled, only skipping them, to keep the decode pointer in sync for the fields that follow. This config option will be kept for a transitional period to allow existing CephFS deployments to migrate inline data via MDS scrub. Once the migration period ends, the option and all inline data code will be permanently removed. Users upgrading from an older Ceph release should ensure all inline data has been migrated before deploying a kclient with this option disabled: 1. Enable and run MDS scrub to uninline existing data 2. Disable inline_data on the filesystem: ceph fs set <fs> inline_data false --yes-i-really-really-mean-it Link: https://tracker.ceph.com/issues/67769 Signed-off-by: Xiubo Li <xiubo.li@clyso.com> Reviewed-by: Alex Markuze <amarkuze@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2026-10-06netfs: Make deprecated PG_private_2 support opt-inDavid Howells
Make the deprecated PG_private_2 support opt-in, requiring it to be selected by the filesystems that might want to use it. Signed-off-by: David Howells <dhowells@redhat.com> Link: https://patch.msgid.link/20260909072105.1663687-7-dhowells@redhat.com Reviewed-by: Paulo Alcantara <pc@manguebit.org> cc: Trond Myklebust <trondmy@kernel.org> cc: Anna Schumaker <anna@kernel.org> cc: Ilya Dryomov <idryomov@gmail.com> cc: Alex Markuze <amarkuze@redhat.com> cc: Viacheslav Dubeyko <slava@dubeyko.com> cc: netfs@lists.linux.dev cc: linux-nfs@vger.kernel.org cc: ceph-devel@vger.kernel.org cc: linux-fsdevel@vger.kernel.org Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
2025-12-10ceph: stop selecting CRC32, CRYPTO, and CRYPTO_AESEric Biggers
None of the CEPH_FS code directly requires CRC32, CRYPTO, or CRYPTO_AES. These options do get selected indirectly anyway via CEPH_LIB, which does need them, but there is no need for CEPH_FS to select them too. Signed-off-by: Eric Biggers <ebiggers@kernel.org> Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2025-04-04lib/crc: remove CONFIG_LIBCRC32CEric Biggers
Now that LIBCRC32C does nothing besides select CRC32, make every option that selects LIBCRC32C instead select CRC32 directly. Then remove LIBCRC32C. Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: "Martin K. Petersen" <martin.petersen@oracle.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20250401221600.24878-8-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com>
2024-01-15ceph: select FS_ENCRYPTION_ALGS if FS_ENCRYPTIONEric Biggers
The kconfig options for filesystems that support FS_ENCRYPTION are supposed to select FS_ENCRYPTION_ALGS. This is needed to ensure that required crypto algorithms get enabled as loadable modules or builtin as is appropriate for the set of enabled filesystems. Do this for CEPH_FS so that there aren't any missing algorithms if someone happens to have CEPH_FS as their only enabled filesystem that supports encryption. Cc: stable@vger.kernel.org Fixes: f061feda6c54 ("ceph: add fscrypt ioctls and ceph.fscrypt.auth vxattr") Signed-off-by: Eric Biggers <ebiggers@google.com> Reviewed-by: Xiubo Li <xiubli@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2021-04-27ceph: convert ceph_readpage to netfs_readpageJeff Layton
Have the ceph KConfig select NETFS_SUPPORT. Add a new netfs ops structure and the operations for it. Convert ceph_readpage to use the new netfs_readpage helper. Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2020-08-03libceph: replace HTTP links with HTTPS onesAlexander A. Klimov
Rationale: Reduces attack surface on kernel devs opening the links for MITM as HTTPS traffic is much harder to manipulate. Deterministic algorithm: For each file: If not .svg: For each line: If doesn't contain `\bxmlns\b`: For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`: If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`: If both the HTTP and HTTPS versions return 200 OK and serve the same content: Replace HTTP with HTTPS. [ idryomov: Do the same for the CRUSH paper and replace ceph.newdream.net with ceph.io. ] Signed-off-by: Alexander A. Klimov <grandmaster@al2klimov.de> Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-07-08ceph: add selinux supportYan, Zheng
When creating new file/directory, use security_dentry_init_security() to prepare selinux context for the new inode, then send openc/mkdir request to MDS, together with selinux xattr. security_dentry_init_security() only supports single security module and only selinux has dentry_init_security hook. So only selinux is supported for now. We can add support for other security modules once kernel has a generic version of dentry_init_security() Signed-off-by: "Yan, Zheng" <zyan@redhat.com> Reviewed-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-05-21treewide: Add SPDX license identifier - Makefile/KconfigThomas Gleixner
Add SPDX license identifiers to all Make/Kconfig files which: - Have no license information of any form These files fall under the project license, GPL v2 only. The resulting SPDX license identifier is: GPL-2.0-only Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-01-01fs/*/Kconfig: drop links to 404-compliant http://acl.bestbits.atAdam Borowski
This link is replicated in most filesystems' config stanzas. Referring to an archived version of that site is pointless as it mostly deals with patches; user documentation is available elsewhere. Signed-off-by: Adam Borowski <kilobyte@angband.pl> CC: Alexander Viro <viro@zeniv.linux.org.uk> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Acked-by: Jan Kara <jack@suse.cz> Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com> Acked-by: David Sterba <dsterba@suse.com> Acked-by: "Yan, Zheng" <zyan@redhat.com> Acked-by: Chao Yu <yuchao0@huawei.com> Acked-by: Jaegeuk Kim <jaegeuk@kernel.org> Acked-by: Steve French <smfrench@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2013-12-31ceph: add acl for cephfsGuangliang Zhao
Signed-off-by: Guangliang Zhao <lucienchao@gmail.com> Reviewed-by: Li Wang <li.wang@ubuntykylin.com> Reviewed-by: Zheng Yan <zheng.z.yan@intel.com>
2013-09-06ceph: use fscache as a local presisent cacheMilosz Tanski
Adding support for fscache to the Ceph filesystem. This would bring it to on par with some of the other network filesystems in Linux (like NFS, AFS, etc...) In order to mount the filesystem with fscache the 'fsc' mount option must be passed. Signed-off-by: Milosz Tanski <milosz@adfin.com> Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-11fs/ceph: remove depends on CONFIG_EXPERIMENTALKees Cook
The CONFIG_EXPERIMENTAL config item has not carried much meaning for a while now and is almost always enabled by default. As agreed during the Linux kernel summit, remove it from any "depends on" lines in Kconfigs. CC: Sage Weil <sage@inktank.com> Signed-off-by: Kees Cook <keescook@chromium.org> Acked-by: Sage Weil <sage@inktank.com>
2010-10-20ceph: factor out libceph from Ceph file systemYehuda Sadeh
This factors out protocol and low-level storage parts of ceph into a separate libceph module living in net/ceph and include/linux/ceph. This is mostly a matter of moving files around. However, a few key pieces of the interface change as well: - ceph_client becomes ceph_fs_client and ceph_client, where the latter captures the mon and osd clients, and the fs_client gets the mds client and file system specific pieces. - Mount option parsing and debugfs setup is correspondingly broken into two pieces. - The mon client gets a generic handler callback for otherwise unknown messages (mds map, in this case). - The basic supported/required feature bits can be expanded (and are by ceph_fs_client). No functional change, aside from some subtle error handling cases that got cleaned up in the refactoring process. Signed-off-by: Sage Weil <sage@newdream.net>
2010-09-17ceph: select CRYPTOSage Weil
We select CRYPTO_AES, but not CRYPTO. Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-24ceph: Correct obvious typo of Kconfig variable "CRYPTO_AES"Robert P. J. Day
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Sage Weil <sage@newdream.net>
2010-02-10ceph: aes crypto and base64 encode/decode helpersSage Weil
Helpers to encrypt/decrypt AES and base64. Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
2009-10-06ceph: Kconfig, MakefileSage Weil
Kconfig options and Makefile. Signed-off-by: Sage Weil <sage@newdream.net>