linux-sg2042/fs/ceph
Jeff Layton 26544c623e ceph: when seeing write errors on an inode, switch to sync writes
Currently, we don't have a real feedback mechanism in place for when we
start seeing buffered writeback errors. If writeback is failing, there
is nothing that prevents an application from continuing to dirty pages
that aren't being cleaned.

In the event that we're seeing write errors of any sort occur on an
inode, have the callback set a flag to force further writes to be
synchronous. When the next write succeeds, clear the flag to allow
buffered writeback to continue.

Since this is just a hint to the write submission mechanism, we only
take the i_ceph_lock when a lockless check shows that the flag needs to
be changed.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: "Yan, Zheng” <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-05-04 09:19:22 +02:00
..
Kconfig ceph: add acl for cephfs 2013-12-31 20:32:01 +02:00
Makefile ceph: add acl for cephfs 2013-12-31 20:32:01 +02:00
acl.c ceph: Propagate dentry down to inode_change_ok() 2016-09-22 10:56:19 +02:00
addr.c ceph: when seeing write errors on an inode, switch to sync writes 2017-05-04 09:19:22 +02:00
cache.c ceph: fix spelling mistake: "enabing" -> "enabling" 2017-02-20 12:16:05 +01:00
cache.h ceph: improve fscache revalidation 2016-06-01 10:31:50 +02:00
caps.c ceph: handle epoch barriers in cap messages 2017-05-04 09:19:21 +02:00
ceph_frag.c
debugfs.c ceph: allow connecting to mds whose rank >= mdsmap::m_max_mds 2017-05-04 09:19:20 +02:00
dir.c ceph: make seeky readdir more efficient 2017-05-04 09:19:20 +02:00
export.c ceph: add a new flag to indicate whether parent is locked 2017-02-20 12:16:08 +01:00
file.c ceph: when seeing write errors on an inode, switch to sync writes 2017-05-04 09:19:22 +02:00
inode.c ceph: make seeky readdir more efficient 2017-05-04 09:19:20 +02:00
ioctl.c ceph: fix bogus endianness change in ceph_ioctl_set_layout 2017-02-20 12:16:07 +01:00
ioctl.h
locks.c ceph: fix mandatory flock check 2016-10-03 16:13:49 +02:00
mds_client.c ceph: handle epoch barriers in cap messages 2017-05-04 09:19:21 +02:00
mds_client.h ceph: handle epoch barriers in cap messages 2017-05-04 09:19:21 +02:00
mdsmap.c ceph: allow connecting to mds whose rank >= mdsmap::m_max_mds 2017-05-04 09:19:20 +02:00
snap.c ceph: convert ceph_cap_snap.nref from atomic_t to refcount_t 2017-05-04 09:19:18 +02:00
strings.c ceph: handle CEPH_SESSION_REJECT message 2016-10-03 16:13:50 +02:00
super.c libceph, ceph: always advertise all supported features 2017-05-04 09:19:18 +02:00
super.h ceph: when seeing write errors on an inode, switch to sync writes 2017-05-04 09:19:22 +02:00
xattr.c ceph: fix non static symbol warning 2016-10-18 12:30:32 +02:00