linux/net/ceph
Jeff Layton a1f4020aab libceph: allow requests to return immediately on full conditions if caller wishes
Usually, when the osd map is flagged as full or the pool is at quota,
write requests just hang. This is not what we want for cephfs, where
it would be better to simply report -ENOSPC back to userland instead
of stalling.

If the caller knows that it will want an immediate error return instead
of blocking on a full or at-quota error condition then allow it to set a
flag to request that behavior.

Set that flag in ceph_osdc_new_request (since ceph.ko is the only caller),
and on any other write request from ceph.ko.

A later patch will deal with requests that were submitted before the new
map showing the full condition came in.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-05-04 09:19:21 +02:00
..
crush crush: fix dprintk compilation 2017-02-23 22:22:02 +01:00
armor.c libceph: Fix base64-decoding when input ends in newline. 2011-03-15 09:14:02 -07:00
auth_none.c libceph: rename ceph_entity_name_encode() -> ceph_auth_entity_name_encode() 2016-08-24 23:49:15 +02:00
auth_none.h libceph: make authorizer destruction independent of ceph_auth_client 2016-04-25 20:54:13 +02:00
auth_x_protocol.h
auth_x.c libceph: drop len argument of *verify_authorizer_reply() 2016-12-12 23:09:21 +01:00
auth_x.h libceph: rename and align ceph_x_authorizer::reply_buf 2016-12-12 23:09:19 +01:00
auth.c libceph: drop len argument of *verify_authorizer_reply() 2016-12-12 23:09:21 +01:00
buffer.c libceph: nuke ceph_kvfree() 2014-12-17 20:09:50 +03:00
ceph_common.c libceph: supported_features module parameter 2017-05-04 09:19:18 +02:00
ceph_fs.c libceph: fix legacy layout decode with pool 0 2016-11-10 20:13:08 +01:00
ceph_hash.c net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
ceph_strings.c rbd: support for exclusive-lock feature 2016-08-24 23:49:16 +02:00
cls_lock_client.c libceph, rbd, ceph: WRITE | ONDISK -> WRITE 2017-02-24 19:04:57 +01:00
crypto.c sched/headers: Prepare to move the memalloc_noio_*() APIs to <linux/sched/mm.h> 2017-03-02 08:42:33 +01:00
crypto.h libceph: stop allocating a new cipher on every crypto request 2016-12-12 23:09:20 +01:00
debugfs.c libceph: remove req->r_replay_version 2017-05-04 09:19:20 +02:00
Kconfig libceph: select CRYPTO_CBC in addition to CRYPTO_AES 2014-10-14 21:03:20 +04:00
Makefile libceph: support for advisory locking on RADOS objects 2016-08-24 23:49:15 +02:00
messenger.c libceph: force GFP_NOIO for socket allocations 2017-03-23 12:03:36 +01:00
mon_client.c libceph: no need for GFP_NOFS in ceph_monc_init() 2016-12-12 23:09:21 +01:00
msgpool.c libceph: fix some missing includes 2016-07-28 02:55:35 +02:00
osd_client.c libceph: allow requests to return immediately on full conditions if caller wishes 2017-05-04 09:19:21 +02:00
osdmap.c libceph: don't set weight to IN when OSD is destroyed 2017-03-07 14:30:38 +01:00
pagelist.c libceph: convert ceph_pagelist.refcnt from atomic_t to refcount_t 2017-05-04 09:19:19 +02:00
pagevec.c mm: replace get_user_pages_unlocked() write/force parameters with gup_flags 2016-10-18 14:13:37 -07:00
snapshot.c libceph: convert ceph_snap_context.nref from atomic_t to refcount_t 2017-05-04 09:19:18 +02:00
string_table.c libceph: using kfree_rcu() to simplify the code 2016-08-08 21:41:42 +02:00