linux/fs/ceph
Luis Henriques 6646ea1c8e Revert "ceph: allow rename operation under different quota realms"
This reverts commit dffdcd7145.

When doing a rename across quota realms, there's a corner case that isn't
handled correctly.  Here's a testcase:

  mkdir files limit
  truncate files/file -s 10G
  setfattr limit -n ceph.quota.max_bytes -v 1000000
  mv files limit/

The above will succeed because ftruncate(2) won't immediately notify the
MDSs with the new file size, and thus the quota realms stats won't be
updated.

Since the possible fixes for this issue would have a huge performance impact,
the solution for now is to simply revert to returning -EXDEV when doing a cross
quota realms rename.

URL: https://tracker.ceph.com/issues/48203
Signed-off-by: Luis Henriques <lhenriques@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2020-12-14 23:21:47 +01:00
..
acl.c ceph: add caps perf metric for each superblock 2020-06-01 13:22:51 +02:00
addr.c ceph: pass down the flags to grab_cache_page_write_begin 2020-12-14 23:21:47 +01:00
cache.c ceph: replace zero-length array with flexible-array member 2020-03-30 12:42:40 +02:00
cache.h libceph, rbd, ceph: convert to use the new mount API 2019-11-27 22:28:37 +01:00
caps.c ceph: fix race in concurrent __ceph_remove_cap invocations 2020-12-14 23:21:47 +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: add status debugfs file 2020-12-14 23:21:47 +01:00
dir.c Revert "ceph: allow rename operation under different quota realms" 2020-12-14 23:21:47 +01: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: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails 2020-12-14 23:21:47 +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 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
Kconfig libceph: replace HTTP links with HTTPS ones 2020-08-03 11:05:26 +02:00
locks.c ceph: fix up some warnings on W=1 builds 2020-12-14 23:21:47 +01:00
Makefile ceph: add dentry lease metric support 2020-06-01 13:22:51 +02:00
mds_client.c ceph: fix up some warnings on W=1 builds 2020-12-14 23:21:47 +01:00
mds_client.h ceph: check session state after bumping session->s_seq 2020-11-04 20:55:49 +01:00
mdsmap.c ceph: downgrade warning from mdsmap decode to debug 2020-12-14 23:21:47 +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: check session state after bumping session->s_seq 2020-11-04 20:55:49 +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 Revert "ceph: allow rename operation under different quota realms" 2020-12-14 23:21:47 +01: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 ceph: add ceph.{cluster_fsid/client_id} vxattrs 2020-12-14 23:21:47 +01:00