alistair23-linux/drivers/target
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
..
iscsi Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2017-05-12 11:44:13 -07:00
loopback
sbp
tcm_fc
Kconfig
Makefile
target_core_alua.c target: Fix ALUA transition state race between multiple initiators 2017-03-30 23:12:40 -07:00
target_core_alua.h
target_core_configfs.c target: fixup error message in target_tg_pt_gp_tg_pt_gp_id_store() 2017-05-01 22:21:53 -07:00
target_core_device.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2017-05-12 11:44:13 -07:00
target_core_fabric_configfs.c target: Avoid mappedlun symlink creation during lun shutdown 2017-03-30 01:36:52 -07:00
target_core_fabric_lib.c
target_core_file.c target/fileio: Fix zero-length READ and WRITE handling 2017-05-07 16:05:16 -07:00
target_core_file.h
target_core_hba.c
target_core_iblock.c target/iblock: convert iblock_req.pending from atomic_t to refcount_t 2017-05-01 22:20:43 -07:00
target_core_iblock.h target/iblock: convert iblock_req.pending from atomic_t to refcount_t 2017-05-01 22:20:43 -07:00
target_core_internal.h
target_core_pr.c target/user: PGR Support 2017-05-01 22:21:45 -07:00
target_core_pr.h target/pr: update PR out action code table 2017-05-01 22:20:44 -07:00
target_core_pscsi.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
target_core_pscsi.h
target_core_rd.c target: Improve size determinations in two functions 2017-05-01 22:21:30 -07:00
target_core_rd.h
target_core_sbc.c Revert "target: Fix VERIFY and WRITE VERIFY command parsing" 2017-05-11 01:01:05 -07:00
target_core_spc.c
target_core_stat.c
target_core_tmr.c
target_core_tpg.c target: Don't force session reset if queue_depth does not change 2017-05-04 20:01:40 -07:00
target_core_transport.c target: Use kmalloc_array() in transport_kmap_data_sg() 2017-05-01 22:21:33 -07:00
target_core_ua.c
target_core_ua.h
target_core_user.c tcmu: fix module removal due to stuck thread 2017-05-04 20:01:41 -07:00
target_core_xcopy.c
target_core_xcopy.h