linux/fs/ceph
Jeff Layton 893e456b2c ceph: don't clear I_NEW until inode metadata is fully populated
Currently, we could have an open-by-handle (or NFS server) call
into the filesystem and start working with an inode before it's
properly filled out.

Don't clear I_NEW until we have filled out the inode, and discard it
properly if that fails. Note that we occasionally take an extra
reference to the inode to ensure that we don't put the last reference in
discard_new_inode, but rather leave it for ceph_async_iput.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2020-01-27 16:53:39 +01:00
..
acl.c ceph: remove unnecessary assignment in ceph_pre_init_acls() 2020-01-27 16:53:39 +01:00
addr.c ceph: use release_pages() directly 2019-09-16 12:06:25 +02:00
cache.c libceph, rbd, ceph: convert to use the new mount API 2019-11-27 22:28:37 +01:00
cache.h libceph, rbd, ceph: convert to use the new mount API 2019-11-27 22:28:37 +01:00
caps.c ceph: switch to global cap helper 2019-12-09 20:55:10 +01:00
ceph_frag.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debugfs.c ceph: show tasks waiting on caps in debugfs caps file 2019-12-09 20:55:10 +01:00
dir.c compat_ioctl: remove most of fs/compat_ioctl.c 2019-12-01 13:46:15 -08:00
export.c ceph: move static keyword to the front of declarations 2019-09-16 12:06:25 +02:00
file.c compat_ioctl: remove most of fs/compat_ioctl.c 2019-12-01 13:46:15 -08:00
inode.c ceph: don't clear I_NEW until inode metadata is fully populated 2020-01-27 16:53:39 +01:00
io.c ceph: add buffered/direct exclusionary locking for reads and writes 2019-09-16 12:06:25 +02:00
io.h ceph: add buffered/direct exclusionary locking for reads and writes 2019-09-16 12:06:25 +02:00
ioctl.c libceph, ceph: move ceph_calc_file_object_mapping() to striper.c 2018-04-02 10:12:43 +02:00
ioctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig ceph: add selinux support 2019-07-08 14:01:42 +02:00
locks.c ceph: return -EIO if read/write against filp that lost file locks 2019-09-16 12:06:24 +02:00
Makefile ceph: add buffered/direct exclusionary locking for reads and writes 2019-09-16 12:06:25 +02:00
mds_client.c ceph: retry the same mds later after the new session is opened 2020-01-27 16:53:39 +01:00
mds_client.h ceph: keep the session state until it is released 2020-01-27 16:53:39 +01:00
mdsmap.c ceph: only choose one MDS who is in up:active state without laggy 2020-01-27 16:53:39 +01:00
quota.c ceph: fix infinite loop in get_quota_realm() 2019-07-08 14:01:42 +02:00
snap.c ceph: fix buffer free while holding i_ceph_lock in __ceph_build_xattrs_blob() 2019-08-22 10:47:41 +02:00
strings.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
super.c ceph: check availability of mds cluster on mount after wait timeout 2020-01-27 16:53:39 +01:00
super.h ceph: convert int fields in ceph_mount_options to unsigned int 2019-12-09 20:55:10 +01:00
xattr.c ceph: allow arbitrary security.* xattrs 2019-09-16 12:06:25 +02:00