linux-stable/fs/ceph
Xiubo Li 3e25051763 ceph: flush the mdlog for filesystem sync
[ Upstream commit 1b2ba3c561 ]

Before waiting for a request's safe reply, we will send the mdlog flush
request to the relevant MDS. And this will also flush the mdlog for all
the other unsafe requests in the same session, so we can record the last
session and no need to flush mdlog again in the next loop. But there
still have cases that it may send the mdlog flush requst twice or more,
but that should be not often.

Rename wait_unsafe_requests() to
flush_mdlog_and_wait_mdsc_unsafe_requests() to make it more
descriptive.

[xiubli: fold in MDS request refcount leak fix from Jeff]

URL: https://tracker.ceph.com/issues/55284
URL: https://tracker.ceph.com/issues/55411
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-14 18:41:37 +02:00
..
Kconfig ceph: conversion to new fscache API 2022-01-11 22:13:01 +00:00
Makefile ceph: add dentry lease metric support 2020-06-01 13:22:51 +02:00
acl.c vfs: add rcu argument to ->get_acl() callback 2021-08-18 22:08:24 +02:00
addr.c netfs: Make ops->init_rreq() optional 2022-01-21 21:36:28 +00: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: fix possible NULL pointer dereference for req->r_session 2022-05-09 09:16:15 +02: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: fix memory leak in ceph_readdir when note_last_dentry returns error 2022-04-13 19:27:22 +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: fix setting of xattrs on async created inodes 2022-05-18 10:28:21 +02:00
inode.c ceph: fix inode reference leakage in ceph_get_snapdir() 2022-04-13 19:27:22 +02: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
locks.c One notable change here is that async creates and unlinks introduced 2021-11-13 11:31:07 -08:00
mds_client.c ceph: flush the mdlog for filesystem sync 2022-06-14 18:41:37 +02:00
mds_client.h ceph: flush mdlog before umounting 2021-09-02 22:49:16 +02: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 The highlight is the new mount "device" string syntax implemented 2022-01-20 13:46:20 +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 ceph: allow ceph.dir.rctime xattr to be updatable 2022-06-14 18:41:37 +02:00