linux/fs/ceph
Xiubo Li 370f0acf2c ceph: fail the request directly if handle_reply gets an ESTALE
If MDS return ESTALE, that means the MDS has already iterated all the
possible active MDSes including the auth MDS or the inode is under
purging. No need to retry in auth MDS and will just return ESTALE
directly. Retrying in this situation will cause an infinite loop.

Also, retrying like this would prevent the kernel VFS layer ESTALE
handling from working properly. An ESTALE error is usually an indication
that the dcache is wrong, so we want to allow the VFS to redo the lookup
and revalidate it properly.

URL: https://tracker.ceph.com/issues/53504
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Acked-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2022-03-01 18:26:36 +01:00
..
acl.c vfs: add rcu argument to ->get_acl() callback 2021-08-18 22:08:24 +02:00
addr.c ceph: uninline the data on a file opened for writing 2022-03-01 18:26:36 +01:00
cache.c ceph: conversion to new fscache API 2022-01-11 22:13:01 +00:00
cache.h ceph: conversion to new fscache API 2022-01-11 22:13:01 +00:00
caps.c ceph: wait for async create reply before sending any cap messages 2022-03-01 18:26:36 +01:00
ceph_frag.c
debugfs.c ceph: add a new metric to keep track of remote object copies 2021-11-08 03:29:52 +01:00
dir.c ceph: take reference to req->r_parent at point of assignment 2021-06-29 00:15:52 +02:00
export.c ceph: shut down access to inode when async create fails 2021-11-08 03:29:51 +01:00
file.c ceph: wake waiters after failed async create 2022-03-01 18:26:36 +01:00
inode.c ceph: conversion to new fscache API 2022-01-11 22:13:01 +00:00
io.c ceph: fix kerneldoc copypasta over ceph_start_io_direct 2021-04-27 23:52:23 +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
Kconfig ceph: conversion to new fscache API 2022-01-11 22:13:01 +00:00
locks.c ceph: eliminate req->r_wait_for_completion from ceph_mds_request 2022-03-01 18:26:36 +01:00
Makefile ceph: add dentry lease metric support 2020-06-01 13:22:51 +02:00
mds_client.c ceph: fail the request directly if handle_reply gets an ESTALE 2022-03-01 18:26:36 +01:00
mds_client.h ceph: eliminate req->r_wait_for_completion from ceph_mds_request 2022-03-01 18:26:36 +01:00
mdsmap.c ceph: fix mdsmap decode when there are MDS's beyond max_mds 2021-11-08 03:29:52 +01:00
metric.c ceph: drop send metrics debug message 2022-01-13 13:40:06 +01:00
metric.h ceph: add a new metric to keep track of remote object copies 2021-11-08 03:29:52 +01:00
quota.c ceph: don't check for quotas on MDS stray dirs 2022-01-13 13:40:07 +01:00
snap.c ceph: add ceph_change_snap_realm() helper 2021-09-02 22:49:17 +02:00
strings.c ceph: flush mdlog before umounting 2021-09-02 22:49:16 +02:00
super.c The highlight is the new mount "device" string syntax implemented 2022-01-20 13:46:20 +02:00
super.h ceph: uninline the data on a file opened for writing 2022-03-01 18:26:36 +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 security: Return xattr name from security_dentry_init_security() 2021-10-20 08:17:08 -04:00