linux/fs/ceph
Jeff Layton 6fc1fe5e4c Revert "ceph: SetPageError() for writeback pages if writepages fails"
This reverts commit b109eec6f4.

If I'm filling up a filesystem with this sort of command:

    $ dd if=/dev/urandom of=/mnt/cephfs/fillfile bs=2M oflag=sync

...then I'll eventually get back EIO on a write. Further calls
will give us ENOSPC.

I'm not sure what prompted this change, but I don't think it's what we
want to do. If writepages failed, we will have already set the mapping
error appropriately, and that's what gets reported by fsync() or
close().

__filemap_fdatawait_range however, does this:

	wait_on_page_writeback(page);
	if (TestClearPageError(page))
		ret = -EIO;

...and that -EIO ends up trumping the mapping's error if one exists.

When writepages fails, we only want to set the error in the mapping,
and not flag the individual pages.

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
..
acl.c ceph: Propagate dentry down to inode_change_ok() 2016-09-22 10:56:19 +02:00
addr.c Revert "ceph: SetPageError() for writeback pages if writepages fails" 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 libceph: allow requests to return immediately on full conditions if caller wishes 2017-05-04 09:19:21 +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
Kconfig
locks.c ceph: fix mandatory flock check 2016-10-03 16:13:49 +02:00
Makefile
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: convert ceph_cap_snap.nref from atomic_t to refcount_t 2017-05-04 09:19:18 +02:00
xattr.c ceph: fix non static symbol warning 2016-10-18 12:30:32 +02:00