On Tue, Oct 17, 2017 at 01:04:16PM +0800, Ming Lei wrote:
> Hi Jens,
>
> The 1st patch runs idle hctx after dealy in scsi_mq_get_budget(),
> so that we can keep same behaviour with before, and it can be
> thought as a fix.
>
> The 2nd patch cleans up RESTART, and removes handling for TAG_SHARED
Now restart is used in the following cases, and TAG_SHARED is for
SCSI only.
1) .get_budget() returns BLK_STS_RESOURCE
- if resource in target/host level isn't satistifed, this SCSI device
will be added in shost->starved_list, and the whole queue will be rerun
(via SCSI's built-in RESTART) in
If there isn't any outstanding request in this queue, both
blk-mq's RESTART and SCSI's builtin RESTART can't work,
so we have to deal with this case by running this queue
after delay.
Fixes: d04b6d97d0a1(scsi: implement .get_budget and .put_budget for blk-mq)
Signed-off-by: Ming Lei
Hi Jens,
The 1st patch runs idle hctx after dealy in scsi_mq_get_budget(),
so that we can keep same behaviour with before, and it can be
thought as a fix.
The 2nd patch cleans up RESTART, and removes handling for TAG_SHARED
from current blk-mq's RESTART mechanism because SCSI_MQ can covers its
Bart,
> The contexts from which a SCSI device can be quiesced or resumed are:
> * Writing into /sys/class/scsi_device/*/device/state.
> * SCSI parallel (SPI) domain validation.
> * The SCSI device power management methods. See also scsi_bus_pm_ops.
The SCSI bits look fine to me.
Acked-by:
Bart,
> Convert blk_get_request(q, op, __GFP_RECLAIM) into
> blk_get_request_flags(q, op, BLK_MQ_PREEMPT). This patch does not
> change any functionality.
Acked-by: Martin K. Petersen
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> this series cleans up various abuses of the bsg interfaces, and then
> splits bsg for SCSI passthrough from bsg for arbitrary transport
> passthrough. This removes the scsi_request abuse in bsg-lib that is
> very confusing, and also makes sure we can sanity check the requests
> we
Hi Jens, Christoph,
There is a scenario: unplug this disks when running IO in disk, we will
find IO is blocked all the times as follows:
..
Jobs: 3 (f=3): [M_MM__] [89.7% done] [0K/0K /s] [0 /0 iops] [eta 00m:36s]
..
I find there is a race between blk_cleanup_queue and
On Mon, Oct 16, 2017 at 01:30:09PM +0200, Hannes Reinecke wrote:
> On 10/13/2017 07:29 PM, Ming Lei wrote:
> > On Fri, Oct 13, 2017 at 05:08:52PM +, Bart Van Assche wrote:
> >> On Sat, 2017-10-14 at 00:45 +0800, Ming Lei wrote:
> >>> On Fri, Oct 13, 2017 at 04:31:04PM +, Bart Van Assche
On Mon, Oct 16, 2017 at 04:29:04PM -0700, Bart Van Assche wrote:
> The contexts from which a SCSI device can be quiesced or resumed are:
> * Writing into /sys/class/scsi_device/*/device/state.
> * SCSI parallel (SPI) domain validation.
> * The SCSI device power management methods. See also
On Mon, Oct 16, 2017 at 04:32:26PM -0700, Bart Van Assche wrote:
> blk_mq_get_tag() can modify data->ctx. This means that in the
> error path of blk_mq_get_request() data->ctx should be passed to
> blk_mq_put_ctx() instead of local_ctx. Note: since blk_mq_put_ctx()
> ignores its argument, this
On Fri, Oct 6, 2017 at 7:19 AM, Jens Axboe wrote:
> On 10/05/2017 05:13 PM, Kees Cook wrote:
>> In preparation for unconditionally passing the struct timer_list pointer to
>> all timer callbacks, switch to using the new timer_setup() and from_timer()
>> to pass the timer pointer
blk_mq_get_tag() can modify data->ctx. This means that in the
error path of blk_mq_get_request() data->ctx should be passed to
blk_mq_put_ctx() instead of local_ctx. Note: since blk_mq_put_ctx()
ignores its argument, this patch does not change any functionality.
References: commit 1ad43c0078b7
This avoids confusion with the pm notifier that will be added
through a later patch.
Signed-off-by: Bart Van Assche
Reviewed-by: Johannes Thumshirn
Reviewed-by: Shaohua Li
Tested-by: Martin Steigerwald
Cc:
This flag will be used in the next patch to let the block layer
core know whether or not a SCSI request queue has been quiesced.
A quiesced SCSI queue namely only processes RQF_PREEMPT requests.
Signed-off-by: Bart Van Assche
Tested-by: Martin Steigerwald
Convert blk_get_request(q, op, __GFP_RECLAIM) into
blk_get_request_flags(q, op, BLK_MQ_PREEMPT). This patch does not
change any functionality.
Signed-off-by: Bart Van Assche
Tested-by: Martin Steigerwald
Acked-by: David S. Miller
Set RQF_PREEMPT if BLK_MQ_REQ_PREEMPT is passed to
blk_get_request_flags().
Signed-off-by: Bart Van Assche
Tested-by: Martin Steigerwald
Cc: Christoph Hellwig
Cc: Ming Lei
Cc: Hannes Reinecke
Cc:
Introduce md_stop_all_writes() because the next patch will add
a second caller for this function. This patch does not change
any functionality.
Signed-off-by: Bart Van Assche
Reviewed-by: Johannes Thumshirn
Reviewed-by: Shaohua Li
A side effect of this patch is that the GFP mask that is passed to
several allocation functions in the legacy block layer is changed
from GFP_KERNEL into __GFP_DIRECT_RECLAIM.
Signed-off-by: Bart Van Assche
Tested-by: Martin Steigerwald
Cc: Christoph
From: Ming Lei
This patch makes it possible to pause request allocation for
the legacy block layer by calling blk_mq_freeze_queue() and
blk_mq_unfreeze_queue().
Signed-off-by: Ming Lei
[ bvanassche: Combined two patches into one, edited a comment and
Several block layer and NVMe core functions accept a combination
of BLK_MQ_REQ_* flags through the 'flags' argument but there is
no verification at compile time whether the right type of block
layer flags is passed. Make it possible for sparse to verify this.
This patch does not change any
Some people use the md driver on laptops and use the suspend and
resume functionality. Since it is essential that submitting of
new I/O requests stops before a hibernation image is created,
interrupt the md resync and reshape actions if the system is
being frozen. Note: the resync and reshape will
Hello Jens,
It is known that during the resume following a hibernate, especially when
using an md RAID1 array created on top of SCSI devices, sometimes the system
hangs instead of coming up properly. This patch series fixes that
problem. These patches have been tested on top of the block layer
The contexts from which a SCSI device can be quiesced or resumed are:
* Writing into /sys/class/scsi_device/*/device/state.
* SCSI parallel (SPI) domain validation.
* The SCSI device power management methods. See also scsi_bus_pm_ops.
It is essential during suspend and resume that neither the
Use the sgl_alloc() and sgl_free() functions instead of open coding
these functions.
Signed-off-by: Bart Van Assche
Reviewed-by: Johannes Thumshirn
Cc: Keith Busch
Cc: Christoph Hellwig
Cc: James Smart
Signed-off-by: Bart Van Assche
Reviewed-by: Johannes Thumshirn
Cc: linux-s...@vger.kernel.org
Cc: Martin K. Petersen
Cc: Anil Ravindranath
---
drivers/scsi/pmcraid.h | 1 -
1 file
Many kernel drivers contain code that allocates and frees both a
scatterlist and the pages that populate that scatterlist.
Introduce functions in lib/scatterlist.c that perform these tasks
instead of duplicating this functionality in multiple drivers.
Only include these functions in the build if
Use the sgl_alloc_order() and sgl_free_order() functions instead
of open coding these functions.
Signed-off-by: Bart Van Assche
Reviewed-by: Johannes Thumshirn
Cc: linux-s...@vger.kernel.org
Cc: Martin K. Petersen
Cc: Anil
Use the sgl_alloc() and sgl_free() functions instead of open coding
these functions.
Signed-off-by: Bart Van Assche
Cc: Ard Biesheuvel
Cc: Herbert Xu
---
crypto/Kconfig | 1 +
crypto/scompress.c | 51
Use the sgl_alloc() and sgl_free() functions instead of open coding
these functions.
Signed-off-by: Bart Van Assche
Reviewed-by: Johannes Thumshirn
Cc: Keith Busch
Cc: Christoph Hellwig
Cc: Sagi Grimberg
Use the sgl_alloc_order() and sgl_free_order() functions instead
of open coding these functions.
Signed-off-by: Bart Van Assche
Reviewed-by: Johannes Thumshirn
Cc: linux-s...@vger.kernel.org
Cc: Martin K. Petersen
Cc:
Hello Jens,
As you know there are multiple drivers that both allocate a scatter/gather
list and populate that list with pages. This patch series moves the code for
allocating and freeing such scatterlists from these drivers into
lib/scatterlist.c. Please consider this patch series for kernel
Use the sgl_alloc_order() and sgl_free() functions instead of open
coding these functions.
Signed-off-by: Bart Van Assche
Cc: Nicholas A. Bellinger
Cc: Christoph Hellwig
Cc: Hannes Reinecke
Cc: Sagi Grimberg
On 10/16/2017 01:07 PM, Michael Lyle wrote:
> Jens--
>
> Thanks for your patience.
>
> On Mon, Oct 16, 2017 at 12:01 PM, Jens Axboe wrote:
>> On 10/16/2017 11:34 AM, Michael Lyle wrote:
>>> Sorry this got through to linux-block, was detected by the kbuilds test
>>> robot.
Jens--
Thanks for your patience.
On Mon, Oct 16, 2017 at 12:01 PM, Jens Axboe wrote:
> On 10/16/2017 11:34 AM, Michael Lyle wrote:
>> Sorry this got through to linux-block, was detected by the kbuilds test
>> robot. NSEC_PER_SEC is a long constant; 2.5 * 10^9 doesn't fit in a
On 10/16/2017 11:34 AM, Michael Lyle wrote:
> Sorry this got through to linux-block, was detected by the kbuilds test
> robot. NSEC_PER_SEC is a long constant; 2.5 * 10^9 doesn't fit in a
> signed long constant.
Applied, but you should remember to add Fixes lines when a patch
explicitly fixes a
On 10/16/2017 12:01 PM, Randy Dunlap wrote:
> From: Randy Dunlap
>
> Sphinx treats symbols that end with '_' as a kind of special
> documentation indicator, so fix that by adding an ending '*'
> to it.
Added for 4.15, thanks Randy.
--
Jens Axboe
On 2017/10/17 上午1:39, Michael Lyle wrote:
> Hey Coly--
>
> On Thu, Sep 21, 2017 at 12:54 PM, Coly Li wrote:
>> When bcache does read I/Os, for example in writeback or writethrough mode,
>> if a read request on cache device is failed, bcache will try to recovery
>> the request by
When bcache does read I/Os, for example in writeback or writethrough mode,
if a read request on cache device is failed, bcache will try to recovery
the request by reading from cached device. If the data on cached device is
not synced with cache device, then requester will get a stale data.
For
From: Randy Dunlap
Sphinx treats symbols that end with '_' as a kind of special
documentation indicator, so fix that by adding an ending '*'
to it.
../block/bio.c:404: ERROR: Unknown target name: "gfp".
Signed-off-by: Randy Dunlap
---
block/bio.c
On 2017/10/17 上午1:34, Michael Lyle wrote:
> Sorry this got through to linux-block, was detected by the kbuilds test
> robot. NSEC_PER_SEC is a long constant; 2.5 * 10^9 doesn't fit in a
> signed long constant.
>
> Signed-off-by: Michael Lyle
I forgot i386 config... sorry too...
Hey Coly--
On Thu, Sep 21, 2017 at 12:54 PM, Coly Li wrote:
> When bcache does read I/Os, for example in writeback or writethrough mode,
> if a read request on cache device is failed, bcache will try to recovery
> the request by reading from cached device. If the data on cached
Sorry this got through to linux-block, was detected by the kbuilds test
robot. NSEC_PER_SEC is a long constant; 2.5 * 10^9 doesn't fit in a
signed long constant.
Signed-off-by: Michael Lyle
---
drivers/md/bcache/util.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
On Tue, Oct 03, 2017 at 12:48:44PM +0200, Christoph Hellwig wrote:
> Use the obvious calling convention.
>
> Signed-off-by: Christoph Hellwig
> ---
> block/bsg.c| 18 --
> block/scsi_ioctl.c | 8
> drivers/scsi/sg.c | 2 +-
>
On Tue, Oct 03, 2017 at 12:48:42PM +0200, Christoph Hellwig wrote:
> The zfcp driver wants to know the timeout for a bsg job, so add a field
> to struct bsg_job for it in preparation of not exposing the request
> to the bsg-lib users.
>
> Signed-off-by: Christoph Hellwig
> ---
>
On Mon, 2017-10-16 at 13:30 +0200, Hannes Reinecke wrote:
> On Fri, Oct 13, 2017 at 05:08:52PM +, Bart Van Assche wrote:
> > (+Himanshu Madhani)
> >
> > Himanshu, do you perhaps know whether it is safe to increase cmd_per_lun for
> > the qla2xxx initiator driver to the scsi_host->can_queue
On Fri, Oct 13, 2017 at 5:35 PM, Rakesh Pandit wrote:
> On Fri, Oct 13, 2017 at 07:58:09AM -0700, Christoph Hellwig wrote:
>> On Fri, Oct 13, 2017 at 02:45:51PM +0200, Matias Bjørling wrote:
>> > From: Rakesh Pandit
>> >
>> > When a virtual block device is
On Fri, Oct 13 2017, Michael Lyle wrote:
> Jens, and everyone:
>
> Here is the current series of work for inclusion in next and for 4.15's
> merge window. We may get some additional fixes, but this is most of the
> work we expect. All have been previously sent to these lists except the
> very
On 10/16/2017 06:48 AM, Christoph Hellwig wrote:
> Jens, are you fine with picking this up throught the nvme tree?
> I think Sagi's later changes rely on it, so that would make life
> a littler easier.
Yeah that's fine, you can add my reviewed-by to the patches
as well.
--
Jens Axboe
On Mon, Oct 16, 2017 at 1:44 PM, Christoph Hellwig wrote:
> On Fri, Oct 06, 2017 at 02:31:20PM +0200, Ilya Dryomov wrote:
>> This would unconditionally overwrite any WRITE ZEROS error. If we get
>> e.g. -EIO, and manual zeroing is not allowed, I don't think we want to
>>
sd_config_write_same() ignores ->max_ws_blocks == 0 and resets it to
permit trying WRITE SAME on older SCSI devices, unless ->no_write_same
is set. Because REQ_OP_WRITE_ZEROES is implemented in terms of WRITE
SAME, blkdev_issue_zeroout() may fail with -EREMOTEIO:
$ fallocate -zn -l 1k /dev/sdg
blkdev_issue_zeroout() will use this in !BLKDEV_ZERO_NOFALLBACK case.
Signed-off-by: Ilya Dryomov
---
block/blk-lib.c | 63 +
1 file changed, 37 insertions(+), 26 deletions(-)
diff --git a/block/blk-lib.c
Hi Christoph, Martin,
blkdev_issue_zeroout() now checks for any error. This required a minor
refactor, so I dropped the stable tag, Jens can add it back if needed.
v2 -> v3:
- another code flow change in blkdev_issue_zeroout() suggested by
Christoph -- no functional changes
v1 -> v2:
-
Jens, are you fine with picking this up throught the nvme tree?
I think Sagi's later changes rely on it, so that would make life
a littler easier.
On Fri, Oct 06, 2017 at 02:31:20PM +0200, Ilya Dryomov wrote:
> This would unconditionally overwrite any WRITE ZEROS error. If we get
> e.g. -EIO, and manual zeroing is not allowed, I don't think we want to
> return -EOPNOTSUPP?
>
> Returning -EOPNOTSUPP to mean "can't zero using either method"
On 10/13/2017 07:29 PM, Ming Lei wrote:
> On Fri, Oct 13, 2017 at 05:08:52PM +, Bart Van Assche wrote:
>> On Sat, 2017-10-14 at 00:45 +0800, Ming Lei wrote:
>>> On Fri, Oct 13, 2017 at 04:31:04PM +, Bart Van Assche wrote:
On Sat, 2017-10-14 at 00:07 +0800, Ming Lei wrote:
>
On Fri, Oct 6, 2017 at 2:31 PM, Ilya Dryomov wrote:
> On Fri, Oct 6, 2017 at 2:05 PM, Christoph Hellwig wrote:
>> On Thu, Oct 05, 2017 at 09:32:33PM +0200, Ilya Dryomov wrote:
>>> This is to avoid returning -EREMOTEIO in the following case: device
>>>
57 matches
Mail list logo