linux-stable/drivers/s390/cio
Christoph Hellwig 2a842acab1 block: introduce new block status code type
Currently we use nornal Linux errno values in the block layer, and while
we accept any error a few have overloaded magic meanings.  This patch
instead introduces a new  blk_status_t value that holds block layer specific
status codes and explicitly explains their meaning.  Helpers to convert from
and to the previous special meanings are provided for now, but I suspect
we want to get rid of them in the long run - those drivers that have a
errno input (e.g. networking) usually get errnos that don't know about
the special block layer overloads, and similarly returning them to userspace
will usually return somethings that strictly speaking isn't correct
for file system operations, but that's left as an exercise for later.

For now the set of errors is a very limited set that closely corresponds
to the previous overloaded errno values, but there is some low hanging
fruite to improve it.

blk_status_t (ab)uses the sparse __bitwise annotations to allow for sparse
typechecking, so that we can easily catch places passing the wrong values.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
2017-06-09 09:27:32 -06:00
..
airq.c s390/cio: Introduce common I/O layer tracepoints 2015-12-18 14:59:36 +01:00
blacklist.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
blacklist.h
ccwgroup.c s390/ccwgroup: increase string buffer size 2017-05-09 10:44:36 +02:00
ccwreq.c s390: Use pr_warn instead of pr_warning 2016-03-07 13:12:04 +01:00
chp.c s390/cio: clarify cssid usage 2017-01-16 07:27:52 +01:00
chp.h s390/cio: clarify cssid usage 2017-01-16 07:27:52 +01:00
chsc.c s390/cio: use cssid for pgid generation 2017-01-16 07:27:52 +01:00
chsc.h s390/cio: use cssid for pgid generation 2017-01-16 07:27:52 +01:00
chsc_sch.c s390/chsc: fix ioctl CHSC_INFO_CU command 2016-07-15 14:31:58 +02:00
chsc_sch.h
cio.c s390: cio: export more interfaces 2017-03-31 12:55:03 +02:00
cio.h s390: cio: introduce cio_cancel_halt_clear 2017-03-31 12:55:02 +02:00
cio_debug.h
cmf.c s390/cio: remove cmf related code relevant for 31 bit only 2017-01-16 07:27:55 +01:00
crw.c s390/cio: Consolidate inline assemblies and related data definitions 2015-12-18 14:59:34 +01:00
css.c s390/cio: remove unused struct member 2017-01-16 07:27:53 +01:00
css.h s390/cio: remove unused struct member 2017-01-16 07:27:53 +01:00
device.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
device.h s390/cio: clean up DEV_STATE_SENSE_PGID 2016-10-28 10:09:03 +02:00
device_fsm.c s390: cio: introduce cio_cancel_halt_clear 2017-03-31 12:55:02 +02:00
device_id.c
device_ops.c s390: cio: make it explicitly non-modular 2016-10-31 17:55:32 +01:00
device_pgid.c s390/cio: move ccw_device_stlck functions 2015-10-27 09:34:44 +01:00
device_status.c s390/cio: stop using subchannel_id from ccw_device_private 2016-08-08 15:41:32 +02:00
eadm_sch.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
eadm_sch.h s390/eadm_sch: improve quiesce handling 2013-10-24 17:16:58 +02:00
fcx.c
idset.c s390/cio: idset.c: remove some unused functions 2015-01-08 10:02:50 +01:00
idset.h s390: use canonical include guard style 2016-06-13 15:58:17 +02:00
io_sch.h s390/cio: remove subchannel_id from ccw_device_private 2016-08-08 15:41:33 +02:00
ioasm.c s390/chsc: Add exception handler for CHSC instruction 2017-02-23 10:06:38 +01:00
ioasm.h s390/cio: Change I/O instructions from inline to normal functions 2015-12-18 14:59:37 +01:00
isc.c
itcw.c
Makefile vfio: ccw: introduce a finite state machine 2017-03-31 12:55:11 +02:00
orb.h
qdio.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
qdio_debug.c s390: Delete unnecessary checks before the function call "debug_unregister" 2015-11-27 09:24:16 +01:00
qdio_debug.h s390/qdio: increase string buffer size 2017-05-09 10:44:37 +02:00
qdio_main.c s390/qdio: improve some debug prints 2017-02-03 13:50:23 +01:00
qdio_setup.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
qdio_thinint.c sched/headers: Prepare to use <linux/rcuupdate.h> instead of <linux/rculist.h> in <linux/sched.h> 2017-03-02 08:42:38 +01:00
scm.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
trace.c s390/cio: Introduce common I/O layer tracepoints 2015-12-18 14:59:36 +01:00
trace.h s390/cio: Introduce common I/O layer tracepoints 2015-12-18 14:59:36 +01:00
vfio_ccw_cp.c vfio: ccw: introduce support for ccw0 2017-03-31 12:55:12 +02:00
vfio_ccw_cp.h vfio: ccw: introduce channel program interfaces 2017-03-31 12:55:05 +02:00
vfio_ccw_drv.c vfio: ccw: introduce a finite state machine 2017-03-31 12:55:11 +02:00
vfio_ccw_fsm.c vfio: ccw: remove unnecessary NULL checks of a pointer 2017-04-12 12:33:36 +02:00
vfio_ccw_ops.c vfio: ccw: improve error handling for vfio_ccw_mdev_remove 2017-04-12 12:34:17 +02:00
vfio_ccw_private.h vfio: ccw: introduce a finite state machine 2017-03-31 12:55:11 +02:00