mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley:
"Updates to the usual drivers (ufs, pm80xx, libata-scsi, smartpqi,
lpfc, qla2xxx).
We have a couple of major core changes impacting other systems:
- Command Duration Limits, which spills into block and ATA
- block level Persistent Reservation Operations, which touches block,
nvme, target and dm
Both of these are added with merge commits containing a cover letter
explaining what's going on"
* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (187 commits)
scsi: core: Improve warning message in scsi_device_block()
scsi: core: Replace scsi_target_block() with scsi_block_targets()
scsi: core: Don't wait for quiesce in scsi_device_block()
scsi: core: Don't wait for quiesce in scsi_stop_queue()
scsi: core: Merge scsi_internal_device_block() and device_block()
scsi: sg: Increase number of devices
scsi: bsg: Increase number of devices
scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue
scsi: ufs: ufs-pci: Add support for Intel Arrow Lake
scsi: sd: sd_zbc: Use PAGE_SECTORS_SHIFT
scsi: ufs: wb: Add explicit flush_threshold sysfs attribute
scsi: ufs: ufs-qcom: Switch to the new ICE API
scsi: ufs: dt-bindings: qcom: Add ICE phandle
scsi: ufs: ufs-mediatek: Set UFSHCD_QUIRK_MCQ_BROKEN_RTC quirk
scsi: ufs: ufs-mediatek: Set UFSHCD_QUIRK_MCQ_BROKEN_INTR quirk
scsi: ufs: core: Add host quirk UFSHCD_QUIRK_MCQ_BROKEN_RTC
scsi: ufs: core: Add host quirk UFSHCD_QUIRK_MCQ_BROKEN_INTR
scsi: ufs: core: Remove dedicated hwq for dev command
scsi: ufs: core: mcq: Fix the incorrect OCS value for the device command
scsi: ufs: dt-bindings: samsung,exynos: Drop unneeded quotes
...
This commit is contained in:
@@ -95,3 +95,25 @@ Description:
|
||||
This file does not exist if the HBA driver does not implement
|
||||
support for the SATA NCQ priority feature, regardless of the
|
||||
device support for this feature.
|
||||
|
||||
|
||||
What: /sys/block/*/device/cdl_supported
|
||||
Date: May, 2023
|
||||
KernelVersion: v6.5
|
||||
Contact: linux-scsi@vger.kernel.org
|
||||
Description:
|
||||
(RO) Indicates if the device supports the command duration
|
||||
limits feature found in some ATA and SCSI devices.
|
||||
|
||||
|
||||
What: /sys/block/*/device/cdl_enable
|
||||
Date: May, 2023
|
||||
KernelVersion: v6.5
|
||||
Contact: linux-scsi@vger.kernel.org
|
||||
Description:
|
||||
(RW) For a device supporting the command duration limits
|
||||
feature, write to the file to turn on or off the feature.
|
||||
By default this feature is turned off.
|
||||
Writing "1" to this file enables the use of command duration
|
||||
limits for read and write commands in the kernel and turns on
|
||||
the feature on the device. Writing "0" disables the feature.
|
||||
|
||||
@@ -1426,6 +1426,17 @@ Description: This entry shows the status of WriteBooster buffer flushing
|
||||
If flushing is enabled, the device executes the flush
|
||||
operation when the command queue is empty.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/wb_flush_threshold
|
||||
What: /sys/bus/platform/devices/*.ufs/wb_flush_threshold
|
||||
Date: June 2023
|
||||
Contact: Lu Hongfei <luhongfei@vivo.com>
|
||||
Description:
|
||||
wb_flush_threshold represents the threshold for flushing WriteBooster buffer,
|
||||
whose value expressed in unit of 10% granularity, such as '1' representing 10%,
|
||||
'2' representing 20%, and so on.
|
||||
If avail_wb_buff < wb_flush_threshold, it indicates that WriteBooster buffer needs to
|
||||
be flushed, otherwise it is not necessary.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_version
|
||||
What: /sys/bus/platform/devices/*.ufs/device_descriptor/hpb_version
|
||||
Date: June 2021
|
||||
|
||||
@@ -26,6 +26,7 @@ properties:
|
||||
- qcom,msm8994-ufshc
|
||||
- qcom,msm8996-ufshc
|
||||
- qcom,msm8998-ufshc
|
||||
- qcom,sa8775p-ufshc
|
||||
- qcom,sc8280xp-ufshc
|
||||
- qcom,sdm845-ufshc
|
||||
- qcom,sm6350-ufshc
|
||||
@@ -70,6 +71,10 @@ properties:
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
qcom,ice:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: phandle to the Inline Crypto Engine node
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
@@ -105,6 +110,7 @@ allOf:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,msm8998-ufshc
|
||||
- qcom,sa8775p-ufshc
|
||||
- qcom,sc8280xp-ufshc
|
||||
- qcom,sm8250-ufshc
|
||||
- qcom,sm8350-ufshc
|
||||
@@ -187,6 +193,26 @@ allOf:
|
||||
|
||||
# TODO: define clock bindings for qcom,msm8994-ufshc
|
||||
|
||||
- if:
|
||||
properties:
|
||||
qcom,ice:
|
||||
maxItems: 1
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
clocks:
|
||||
minItems: 8
|
||||
maxItems: 8
|
||||
else:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
clocks:
|
||||
minItems: 9
|
||||
maxItems: 11
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
|
||||
@@ -54,7 +54,7 @@ properties:
|
||||
const: ufs-phy
|
||||
|
||||
samsung,sysreg:
|
||||
$ref: '/schemas/types.yaml#/definitions/phandle-array'
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: Should be phandle/offset pair. The phandle to the syscon node
|
||||
which indicates the FSYSx sysreg interface and the offset of
|
||||
the control register for UFS io coherency setting.
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
===================
|
||||
ARECA FIRMWARE SPEC
|
||||
===================
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
======================================
|
||||
README file for the dc395x SCSI driver
|
||||
======================================
|
||||
==================
|
||||
dc395x SCSI driver
|
||||
==================
|
||||
|
||||
Status
|
||||
------
|
||||
@@ -11,13 +11,10 @@ be safe to use. Testing with hard disks has not been done to any
|
||||
great degree and caution should be exercised if you want to attempt
|
||||
to use this driver with hard disks.
|
||||
|
||||
This is a 2.5 only driver. For a 2.4 driver please see the original
|
||||
driver (which this driver started from) at
|
||||
http://www.garloff.de/kurt/linux/dc395/
|
||||
|
||||
Problems, questions and patches should be submitted to the mailing
|
||||
list. Details on the list, including archives, are available at
|
||||
http://lists.twibble.org/mailman/listinfo/dc395x/
|
||||
This driver is evolved from `the original 2.4 driver
|
||||
<https://web.archive.org/web/20140129181343/http://www.garloff.de/kurt/linux/dc395/>`_.
|
||||
Problems, questions and patches should be submitted to the `Linux SCSI
|
||||
mailing list <linux-scsi@vger.kernel.org>`_.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
==========================================
|
||||
README file for the Linux g_NCR5380 driver
|
||||
==========================================
|
||||
================
|
||||
g_NCR5380 driver
|
||||
================
|
||||
|
||||
Copyright |copy| 1993 Drew Eckhard
|
||||
|
||||
|
||||
@@ -4,6 +4,38 @@
|
||||
SCSI Subsystem
|
||||
==============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
scsi
|
||||
|
||||
SCSI driver APIs
|
||||
================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
scsi_mid_low_api
|
||||
scsi_eh
|
||||
|
||||
SCSI driver parameters
|
||||
======================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
scsi-parameters
|
||||
link_power_management_policy
|
||||
|
||||
SCSI host adapter drivers
|
||||
=========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
@@ -25,7 +57,6 @@ SCSI Subsystem
|
||||
hpsa
|
||||
hptiop
|
||||
libsas
|
||||
link_power_management_policy
|
||||
lpfc
|
||||
megaraid
|
||||
ncr53c8xx
|
||||
@@ -33,12 +64,8 @@ SCSI Subsystem
|
||||
ppa
|
||||
qlogicfas
|
||||
scsi-changer
|
||||
scsi_eh
|
||||
scsi_fc_transport
|
||||
scsi-generic
|
||||
scsi_mid_low_api
|
||||
scsi-parameters
|
||||
scsi
|
||||
sd-parameters
|
||||
smartpqi
|
||||
st
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==========================
|
||||
Notes on Management Module
|
||||
==========================
|
||||
=================================
|
||||
Megaraid Common Management Module
|
||||
=================================
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=================================================
|
||||
The Linux NCR53C8XX/SYM53C8XX drivers README file
|
||||
=================================================
|
||||
===========================
|
||||
NCR53C8XX/SYM53C8XX drivers
|
||||
===========================
|
||||
|
||||
Written by Gerard Roudier <groudier@free.fr>
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
========================================
|
||||
README for the SCSI media changer driver
|
||||
========================================
|
||||
=========================
|
||||
SCSI media changer driver
|
||||
=========================
|
||||
|
||||
This is a driver for SCSI Medium Changer devices, which are listed
|
||||
with "Type: Medium Changer" in /proc/scsi/scsi.
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=======================================
|
||||
Notes on Linux SCSI Generic (sg) driver
|
||||
=======================================
|
||||
========================
|
||||
SCSI Generic (sg) driver
|
||||
========================
|
||||
|
||||
20020126
|
||||
|
||||
Introduction
|
||||
============
|
||||
The SCSI Generic driver (sg) is one of the four "high level" SCSI device
|
||||
drivers along with sd, st and sr (disk, tape and CDROM respectively). Sg
|
||||
drivers along with sd, st and sr (disk, tape and CD-ROM respectively). Sg
|
||||
is more generalized (but lower level) than its siblings and tends to be
|
||||
used on SCSI devices that don't fit into the already serviced categories.
|
||||
Thus sg is used for scanners, CD writers and reading audio CDs digitally
|
||||
@@ -22,7 +22,7 @@ and examples.
|
||||
|
||||
Major versions of the sg driver
|
||||
===============================
|
||||
There are three major versions of sg found in the linux kernel (lk):
|
||||
There are three major versions of sg found in the Linux kernel (lk):
|
||||
- sg version 1 (original) from 1992 to early 1999 (lk 2.2.5) .
|
||||
It is based in the sg_header interface structure.
|
||||
- sg version 2 from lk 2.2.6 in the 2.2 series. It is based on
|
||||
@@ -33,34 +33,24 @@ There are three major versions of sg found in the linux kernel (lk):
|
||||
|
||||
Sg driver documentation
|
||||
=======================
|
||||
The most recent documentation of the sg driver is kept at the Linux
|
||||
Documentation Project's (LDP) site:
|
||||
The most recent documentation of the sg driver is kept at
|
||||
|
||||
- http://www.tldp.org/HOWTO/SCSI-Generic-HOWTO
|
||||
- https://sg.danny.cz/sg/
|
||||
|
||||
This describes the sg version 3 driver found in the lk 2.4 series.
|
||||
|
||||
The LDP renders documents in single and multiple page HTML, postscript
|
||||
and pdf. This document can also be found at:
|
||||
Documentation (large version) for the version 2 sg driver found in the
|
||||
lk 2.2 series can be found at
|
||||
|
||||
- http://sg.danny.cz/sg/p/sg_v3_ho.html
|
||||
|
||||
Documentation for the version 2 sg driver found in the lk 2.2 series can
|
||||
be found at http://sg.danny.cz/sg/. A larger version
|
||||
is at: http://sg.danny.cz/sg/p/scsi-generic_long.txt.
|
||||
- https://sg.danny.cz/sg/p/scsi-generic_long.txt.
|
||||
|
||||
The original documentation for the sg driver (prior to lk 2.2.6) can be
|
||||
found at http://www.torque.net/sg/p/original/SCSI-Programming-HOWTO.txt
|
||||
and in the LDP archives.
|
||||
found in the LDP archives at
|
||||
|
||||
A changelog with brief notes can be found in the
|
||||
/usr/src/linux/include/scsi/sg.h file. Note that the glibc maintainers copy
|
||||
and edit this file (removing its changelog for example) before placing it
|
||||
in /usr/include/scsi/sg.h . Driver debugging information and other notes
|
||||
can be found at the top of the /usr/src/linux/drivers/scsi/sg.c file.
|
||||
- https://tldp.org/HOWTO/archived/SCSI-Programming-HOWTO/index.html
|
||||
|
||||
A more general description of the Linux SCSI subsystem of which sg is a
|
||||
part can be found at http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO .
|
||||
part can be found at https://www.tldp.org/HOWTO/SCSI-2.4-HOWTO .
|
||||
|
||||
|
||||
Example code and utilities
|
||||
@@ -73,8 +63,8 @@ There are two packages of sg utilities:
|
||||
and earlier
|
||||
========= ==========================================================
|
||||
|
||||
Both packages will work in the lk 2.4 series however sg3_utils offers more
|
||||
capabilities. They can be found at: http://sg.danny.cz/sg/sg3_utils.html and
|
||||
Both packages will work in the lk 2.4 series. However, sg3_utils offers more
|
||||
capabilities. They can be found at: https://sg.danny.cz/sg/sg3_utils.html and
|
||||
freecode.com
|
||||
|
||||
Another approach is to look at the applications that use the sg driver.
|
||||
@@ -83,7 +73,7 @@ These include cdrecord, cdparanoia, SANE and cdrdao.
|
||||
|
||||
Mapping of Linux kernel versions to sg driver versions
|
||||
======================================================
|
||||
Here is a list of linux kernels in the 2.4 series that had new version
|
||||
Here is a list of Linux kernels in the 2.4 series that had the new version
|
||||
of the sg driver:
|
||||
|
||||
- lk 2.4.0 : sg version 3.1.17
|
||||
@@ -92,10 +82,10 @@ of the sg driver:
|
||||
- lk 2.4.17 : sg version 3.1.22
|
||||
|
||||
.. [#] There were 3 changes to sg version 3.1.20 by third parties in the
|
||||
next six linux kernel versions.
|
||||
next six Linux kernel versions.
|
||||
|
||||
For reference here is a list of linux kernels in the 2.2 series that had
|
||||
new version of the sg driver:
|
||||
For reference here is a list of Linux kernels in the 2.2 series that had
|
||||
the new version of the sg driver:
|
||||
|
||||
- lk 2.2.0 : original sg version [with no version number]
|
||||
- lk 2.2.6 : sg version 2.1.31
|
||||
@@ -106,9 +96,8 @@ new version of the sg driver:
|
||||
- lk 2.2.17 : sg version 2.1.39
|
||||
- lk 2.2.20 : sg version 2.1.40
|
||||
|
||||
The lk 2.5 development series has recently commenced and it currently
|
||||
contains sg version 3.5.23 which is functionally equivalent to sg
|
||||
version 3.1.22 found in lk 2.4.17.
|
||||
The lk 2.5 development series currently contains sg version 3.5.23
|
||||
which is functionally equivalent to sg version 3.1.22 found in lk 2.4.17.
|
||||
|
||||
|
||||
Douglas Gilbert
|
||||
|
||||
@@ -6,30 +6,28 @@ SCSI subsystem documentation
|
||||
|
||||
The Linux Documentation Project (LDP) maintains a document describing
|
||||
the SCSI subsystem in the Linux kernel (lk) 2.4 series. See:
|
||||
http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO . The LDP has single
|
||||
https://www.tldp.org/HOWTO/SCSI-2.4-HOWTO . The LDP has single
|
||||
and multiple page HTML renderings as well as postscript and pdf.
|
||||
It can also be found at:
|
||||
http://web.archive.org/web/%2E/http://www.torque.net/scsi/SCSI-2.4-HOWTO
|
||||
|
||||
Notes on using modules in the SCSI subsystem
|
||||
============================================
|
||||
The scsi support in the linux kernel can be modularized in a number of
|
||||
The SCSI support in the Linux kernel can be modularized in a number of
|
||||
different ways depending upon the needs of the end user. To understand
|
||||
your options, we should first define a few terms.
|
||||
|
||||
The scsi-core (also known as the "mid level") contains the core of scsi
|
||||
support. Without it you can do nothing with any of the other scsi drivers.
|
||||
The scsi core support can be a module (scsi_mod.o), or it can be built into
|
||||
the kernel. If the core is a module, it must be the first scsi module
|
||||
The scsi-core (also known as the "mid level") contains the core of SCSI
|
||||
support. Without it you can do nothing with any of the other SCSI drivers.
|
||||
The SCSI core support can be a module (scsi_mod.o), or it can be built into
|
||||
the kernel. If the core is a module, it must be the first SCSI module
|
||||
loaded, and if you unload the modules, it will have to be the last one
|
||||
unloaded. In practice the modprobe and rmmod commands (and "autoclean")
|
||||
unloaded. In practice the modprobe and rmmod commands
|
||||
will enforce the correct ordering of loading and unloading modules in
|
||||
the SCSI subsystem.
|
||||
|
||||
The individual upper and lower level drivers can be loaded in any order
|
||||
once the scsi core is present in the kernel (either compiled in or loaded
|
||||
as a module). The disk driver (sd_mod.o), cdrom driver (sr_mod.o),
|
||||
tape driver [1]_ (st.o) and scsi generics driver (sg.o) represent the upper
|
||||
once the SCSI core is present in the kernel (either compiled in or loaded
|
||||
as a module). The disk driver (sd_mod.o), CD-ROM driver (sr_mod.o),
|
||||
tape driver [1]_ (st.o) and SCSI generics driver (sg.o) represent the upper
|
||||
level drivers to support the various assorted devices which can be
|
||||
controlled. You can for example load the tape driver to use the tape drive,
|
||||
and then unload it once you have no further need for the driver (and release
|
||||
@@ -44,4 +42,3 @@ built into the kernel.
|
||||
|
||||
.. [1] There is a variant of the st driver for controlling OnStream tape
|
||||
devices. Its module name is osst.o .
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
================
|
||||
SCSI FC Tansport
|
||||
================
|
||||
=================
|
||||
SCSI FC Transport
|
||||
=================
|
||||
|
||||
Date: 11/18/2008
|
||||
|
||||
@@ -556,5 +556,5 @@ The following people have contributed to this document:
|
||||
|
||||
|
||||
James Smart
|
||||
james.smart@emulex.com
|
||||
james.smart@broadcom.com
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=========================================
|
||||
The Linux SYM-2 driver documentation file
|
||||
=========================================
|
||||
============
|
||||
SYM-2 driver
|
||||
============
|
||||
|
||||
Written by Gerard Roudier <groudier@free.fr>
|
||||
|
||||
|
||||
13
MAINTAINERS
13
MAINTAINERS
@@ -5732,10 +5732,7 @@ DC395x SCSI driver
|
||||
M: Oliver Neukum <oliver@neukum.org>
|
||||
M: Ali Akcaagac <aliakc@web.de>
|
||||
M: Jamie Lenehan <lenehan@twibble.org>
|
||||
L: dc395x@twibble.org
|
||||
S: Maintained
|
||||
W: http://twibble.org/dist/dc395x/
|
||||
W: http://lists.twibble.org/mailman/listinfo/dc395x/
|
||||
F: Documentation/scsi/dc395x.rst
|
||||
F: drivers/scsi/dc395x.*
|
||||
|
||||
@@ -18918,6 +18915,16 @@ F: include/linux/wait.h
|
||||
F: include/uapi/linux/sched.h
|
||||
F: kernel/sched/
|
||||
|
||||
SCSI LIBSAS SUBSYSTEM
|
||||
R: John Garry <john.g.garry@oracle.com>
|
||||
R: Jason Yan <yanaijie@huawei.com>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/scsi/libsas/
|
||||
F: include/scsi/libsas.h
|
||||
F: include/scsi/sas_ata.h
|
||||
F: Documentation/scsi/libsas.rst
|
||||
|
||||
SCSI RDMA PROTOCOL (SRP) INITIATOR
|
||||
M: Bart Van Assche <bvanassche@acm.org>
|
||||
L: linux-rdma@vger.kernel.org
|
||||
|
||||
@@ -5528,16 +5528,16 @@ bfq_set_next_ioprio_data(struct bfq_queue *bfqq, struct bfq_io_cq *bic)
|
||||
bfqq->new_ioprio_class = task_nice_ioclass(tsk);
|
||||
break;
|
||||
case IOPRIO_CLASS_RT:
|
||||
bfqq->new_ioprio = IOPRIO_PRIO_DATA(bic->ioprio);
|
||||
bfqq->new_ioprio = IOPRIO_PRIO_LEVEL(bic->ioprio);
|
||||
bfqq->new_ioprio_class = IOPRIO_CLASS_RT;
|
||||
break;
|
||||
case IOPRIO_CLASS_BE:
|
||||
bfqq->new_ioprio = IOPRIO_PRIO_DATA(bic->ioprio);
|
||||
bfqq->new_ioprio = IOPRIO_PRIO_LEVEL(bic->ioprio);
|
||||
bfqq->new_ioprio_class = IOPRIO_CLASS_BE;
|
||||
break;
|
||||
case IOPRIO_CLASS_IDLE:
|
||||
bfqq->new_ioprio_class = IOPRIO_CLASS_IDLE;
|
||||
bfqq->new_ioprio = 7;
|
||||
bfqq->new_ioprio = IOPRIO_NR_LEVELS - 1;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -5834,7 +5834,7 @@ static struct bfq_queue *bfq_get_queue(struct bfq_data *bfqd,
|
||||
struct bfq_io_cq *bic,
|
||||
bool respawn)
|
||||
{
|
||||
const int ioprio = IOPRIO_PRIO_DATA(bic->ioprio);
|
||||
const int ioprio = IOPRIO_PRIO_LEVEL(bic->ioprio);
|
||||
const int ioprio_class = IOPRIO_PRIO_CLASS(bic->ioprio);
|
||||
struct bfq_queue **async_bfqq = NULL;
|
||||
struct bfq_queue *bfqq;
|
||||
|
||||
@@ -155,7 +155,7 @@ static const struct {
|
||||
[BLK_STS_NOSPC] = { -ENOSPC, "critical space allocation" },
|
||||
[BLK_STS_TRANSPORT] = { -ENOLINK, "recoverable transport" },
|
||||
[BLK_STS_TARGET] = { -EREMOTEIO, "critical target" },
|
||||
[BLK_STS_NEXUS] = { -EBADE, "critical nexus" },
|
||||
[BLK_STS_RESV_CONFLICT] = { -EBADE, "reservation conflict" },
|
||||
[BLK_STS_MEDIUM] = { -ENODATA, "critical medium" },
|
||||
[BLK_STS_PROTECTION] = { -EILSEQ, "protection" },
|
||||
[BLK_STS_RESOURCE] = { -ENOMEM, "kernel resource" },
|
||||
@@ -170,6 +170,9 @@ static const struct {
|
||||
[BLK_STS_ZONE_OPEN_RESOURCE] = { -ETOOMANYREFS, "open zones exceeded" },
|
||||
[BLK_STS_ZONE_ACTIVE_RESOURCE] = { -EOVERFLOW, "active zones exceeded" },
|
||||
|
||||
/* Command duration limit device-side timeout */
|
||||
[BLK_STS_DURATION_LIMIT] = { -ETIME, "duration limit exceeded" },
|
||||
|
||||
/* everything else not covered above: */
|
||||
[BLK_STS_IOERR] = { -EIO, "I/O" },
|
||||
};
|
||||
|
||||
@@ -36,7 +36,7 @@ static inline struct bsg_device *to_bsg_device(struct inode *inode)
|
||||
}
|
||||
|
||||
#define BSG_DEFAULT_CMDS 64
|
||||
#define BSG_MAX_DEVS 32768
|
||||
#define BSG_MAX_DEVS (1 << MINORBITS)
|
||||
|
||||
static DEFINE_IDA(bsg_minor_ida);
|
||||
static const struct class bsg_class;
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
int ioprio_check_cap(int ioprio)
|
||||
{
|
||||
int class = IOPRIO_PRIO_CLASS(ioprio);
|
||||
int data = IOPRIO_PRIO_DATA(ioprio);
|
||||
int level = IOPRIO_PRIO_LEVEL(ioprio);
|
||||
|
||||
switch (class) {
|
||||
case IOPRIO_CLASS_RT:
|
||||
@@ -49,15 +49,16 @@ int ioprio_check_cap(int ioprio)
|
||||
fallthrough;
|
||||
/* rt has prio field too */
|
||||
case IOPRIO_CLASS_BE:
|
||||
if (data >= IOPRIO_NR_LEVELS || data < 0)
|
||||
if (level >= IOPRIO_NR_LEVELS)
|
||||
return -EINVAL;
|
||||
break;
|
||||
case IOPRIO_CLASS_IDLE:
|
||||
break;
|
||||
case IOPRIO_CLASS_NONE:
|
||||
if (data)
|
||||
if (level)
|
||||
return -EINVAL;
|
||||
break;
|
||||
case IOPRIO_CLASS_INVALID:
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user