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
..
aec62xx.c
ali14xx.c
alim15x3.c
amd74xx.c
atiixp.c
Drivers: ide: Remove typedef atiixp_ide_timing
2014-10-15 14:27:38 -04:00
au1xxx-ide.c
ide: drop owner assignment from platform_drivers
2014-10-20 16:20:38 +02:00
buddha.c
zorro: ZTWO_VADDR() should return "void __iomem *"
2013-11-26 11:09:07 +01:00
cmd64x.c
cmd640.c
cmd640: add __init attribute
2016-07-26 15:25:30 -07:00
cs5520.c
ide: remove deprecated use of pci api
2015-04-17 15:32:07 -04:00
cs5530.c
cs5535.c
cs5536.c
ide: cs5536: use module_pci_driver()
2013-11-14 18:21:25 -05:00
cy82c693.c
delkin_cb.c
drivers/ide/delkin_cb: Convert to module_pci_driver
2013-07-10 12:09:10 -07:00
dtc2278.c
falconide.c
gayle.c
ide: drop owner assignment from platform_drivers
2014-10-20 16:20:38 +02:00
hpt366.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
ht6560b.c
icside.c
ide: icside: remove incorrect initconst annotation
2016-03-20 16:59:27 -04:00
ide-4drives.c
ide-acpi.c
lib/vsprintf.c: remove %Z support
2017-02-27 18:43:47 -08:00
ide-atapi.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
ide-cd.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
ide-cd.h
block: split out request-only flags into a new namespace
2016-10-28 08:45:17 -06:00
ide-cd_ioctl.c
scsi: introduce a result field in struct scsi_request
2017-04-20 12:16:10 -06:00
ide-cd_verbose.c
block: split scsi_request out of struct request
2017-01-27 15:08:35 -07:00
ide-cs.c
ide-devsets.c
ide-pm: always pass 0 error to ide_complete_rq in ide_do_devset
2017-04-26 07:53:35 -06:00
ide-disk.c
block: remove the blk_execute_rq return value
2017-04-20 12:16:10 -06:00
ide-disk.h
ide-disk_ioctl.c
ide-disk_proc.c
procfs: new helper - PDE_DATA(inode)
2013-04-09 14:13:32 -04:00
ide-dma-sff.c
ide-dma.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
ide-eh.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
ide-floppy.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
ide-floppy.h
ide-floppy_ioctl.c
ide-floppy_proc.c
procfs: new helper - PDE_DATA(inode)
2013-04-09 14:13:32 -04:00
ide-gd.c
block: convert to device_add_disk()
2016-06-27 12:26:08 -07:00
ide-gd.h
ide-generic.c
Revert "ide: Fix interface autodetection in legacy IDE driver (trial #2 )"
2017-01-09 15:27:59 -05:00
ide-io-std.c
ide-io.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
ide-ioctls.c
scsi: introduce a result field in struct scsi_request
2017-04-20 12:16:10 -06:00
ide-iops.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
ide-legacy.c
ide-lib.c
ide,ata: Rename ATA_IDX to ATA_SENSE
2015-03-27 11:59:22 -04:00
ide-park.c
scsi: introduce a result field in struct scsi_request
2017-04-20 12:16:10 -06:00
ide-pci-generic.c
ide-pio-blacklist.c
drivers: ide: Include appropriate header file in ide-pio-blacklist.c
2014-01-28 23:35:09 -08:00
ide-pm.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
ide-pnp.c
PNP: ide/ide-pnp: Use module_pnp_driver to register driver
2015-03-18 22:39:17 +01:00
ide-probe.c
block: Introduce queue flag QUEUE_FLAG_SCSI_PASSTHROUGH
2017-06-01 13:10:40 -06:00
ide-proc.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
ide-scan-pci.c
drivers/ide: make ide-scan-pci.c driver explicitly non-modular
2016-01-18 14:12:33 -05:00
ide-sysfs.c
ide: convert bus code to use dev_groups
2013-10-16 18:40:57 -07:00
ide-tape.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
ide-taskfile.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
ide-timings.c
ide-xfer-mode.c
ide.c
ide: silence some underflow warnings
2016-01-18 14:12:33 -05:00
ide_platform.c
ide: drop owner assignment from platform_drivers
2014-10-20 16:20:38 +02:00
it821x.c
ide: constify ide_dma_ops structures
2016-01-18 14:12:33 -05:00
it8172.c
it8213.c
jmicron.c
Kconfig
block: make scsi_request and scsi ioctl support optional
2017-01-31 10:53:05 -07:00
macide.c
Makefile
Remove celleb-only SCC PATA drivers
2015-04-14 13:07:17 -04:00
ns87415.c
opti621.c
palm_bk3710.c
ide: palm_bk3710: add __initdata to palm_bk3710_port_info
2017-02-27 20:43:26 -05:00
pdc202xx_new.c
PCI: Remove includes of asm/pci-bridge.h
2016-02-05 16:29:28 -06:00
pdc202xx_old.c
piix.c
pmac.c
ide: missing break statement in set_timings_mdma()
2016-07-26 15:25:31 -07:00
q40ide.c
qd65xx.c
qd65xx.h
rapide.c
rz1000.c
sc1200.c
serverworks.c
setup-pci.c
ide: remove deprecated use of pci api
2015-04-17 15:32:07 -04:00
sgiioc4.c
ide: remove deprecated use of pci api
2015-04-17 15:32:07 -04:00
siimage.c
block: introduce new block status code type
2017-06-09 09:27:32 -06:00
sis5513.c
block: split scsi_request out of struct request
2017-01-27 15:08:35 -07:00
sl82c105.c
slc90e66.c
tc86c001.c
triflex.c
trm290.c
ide: constify ide_dma_ops structures
2016-01-18 14:12:33 -05:00
tx4938ide.c
ide: drop owner assignment from platform_drivers
2014-10-20 16:20:38 +02:00
tx4939ide.c
ide: drop owner assignment from platform_drivers
2014-10-20 16:20:38 +02:00
umc8672.c
via82cxxx.c