linux/fs/ceph
Jeff Layton d3c51ae1b8 ceph: don't clobber i_snap_caps on non-I_NEW inode
We want the snapdir to mirror the non-snapped directory's attributes for
most things, but i_snap_caps represents the caps granted on the snapshot
directory by the MDS itself. A misbehaving MDS could issue different
caps for the snapdir and we lose them here.

Only reset i_snap_caps when the inode is I_NEW. Also, move the setting
of i_op and i_fop inside the if block since they should never change
anyway.

Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2021-04-27 23:52:22 +02:00
..
Kconfig ceph: convert ceph_readpage to netfs_readpage 2021-04-27 23:52:22 +02:00
Makefile ceph: add dentry lease metric support 2020-06-01 13:22:51 +02:00
acl.c fs: make helpers idmap mount aware 2021-01-24 14:27:20 +01:00
addr.c ceph: convert ceph_readpages to ceph_readahead 2021-04-27 23:52:22 +02:00
cache.c ceph: rip out old fscache readpage handling 2021-04-27 23:52:21 +02:00
cache.h ceph: convert ceph_readpage to netfs_readpage 2021-04-27 23:52:22 +02:00
caps.c ceph: fix fscache invalidation 2021-04-27 23:52:22 +02: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: add status debugfs file 2020-12-14 23:21:47 +01:00
dir.c ceph: fix fall-through warnings for Clang 2021-04-27 23:52:22 +02:00
export.c ceph: don't return -ESTALE if there's still an open file 2020-06-01 13:22:53 +02:00
file.c libceph, rbd, ceph: "blacklist" -> "blocklist" 2020-10-12 15:29:26 +02:00
inode.c ceph: don't clobber i_snap_caps on non-I_NEW inode 2021-04-27 23:52:22 +02: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 ceph: consider inode's last read/write when calculating wanted caps 2020-03-30 12:42:42 +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
locks.c ceph: fix up some warnings on W=1 builds 2020-12-14 23:21:47 +01:00
mds_client.c libceph, ceph: disambiguate ceph_connection_operations handlers 2021-01-04 17:31:32 +01:00
mds_client.h ceph: take a cred reference instead of tracking individual uid/gid 2020-12-14 23:21:48 +01:00
mdsmap.c libceph, ceph: get and handle cluster maps with addrvecs 2020-12-14 23:21:50 +01:00
metric.c ceph: send dentry lease metrics to MDS daemon 2020-12-14 23:21:47 +01:00
metric.h ceph: send dentry lease metrics to MDS daemon 2020-12-14 23:21:47 +01:00
quota.c Revert "ceph: allow rename operation under different quota realms" 2020-12-14 23:21:47 +01:00
snap.c ceph: defer flushing the capsnap if the Fb is used 2021-02-16 12:09:52 +01: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: add new RECOVER mount_state when recovering session 2020-12-14 23:21:46 +01:00
super.h ceph: rework PageFsCache handling 2021-04-27 23:52:21 +02:00
util.c ceph: move net/ceph/ceph_fs.c to fs/ceph/util.c 2020-01-27 16:53:40 +01:00
xattr.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00