he power management code for the legacy
>> block layer. Please consider this patch series for the upstream kernel.
>
> Thanks Bart, applied for 4.20.
I have made a note to back out the ufs change for 4.20.
--
Martin K. Petersen Oracle Linux Engineering
turn early if it is called for a quiesced queue.
The SCSI pieces look OK to me...
Acked-by: Martin K. Petersen
--
Martin K. Petersen Oracle Linux Engineering
Max,
> Also moved the logic of the remapping to the nvme core driver instead
> of implementing it in the nvme pci driver. This way all the other nvme
> transport drivers will benefit from it (in case they'll implement metadata
> support).
Reviewed-by: Martin K. Petersen
vary between
> integrity types.
Reviewed-by: Martin K. Petersen
--
Martin K. Petersen Oracle Linux Engineering
Max,
> Currently this function is implemented in the scsi layer, but it's
> actual place should be the block layer since T10-PI is a general
> data integrity feature that is used in the nvme protocol as well.
Reviewed-by: Martin K. Petersen
--
Martin K. Petersen Ora
port that yet). We should use the
blk_integrity profile interval instead of assuming sector size.
And wrt. Keith's comment: The tuple_size should be the one from the
integrity profile as well, not sizeof(struct t10_pi_tuple).
--
Martin K. Petersen Oracle Linux Engineering
Keith,
> A device may have boundary restrictions where the number of sectors
> between boundaries exceeds its max transfer size. In this case, we need
> to cap the max size to the smaller of the two limits.
Reviewed-by: Martin K. Petersen
--
Martin K. Petersen Oracle Linux Engineering
papering over a more fundamental issue.
Can you elaborate a bit on why the existing code fails with dm in the
mix?
--
Martin K. Petersen Oracle Linux Engineering
functionality out of the subsystem to accommodate ioctl handling.
I'm traveling today so I probably won't get a chance to look closely
until tomorrow morning.
--
Martin K. Petersen Oracle Linux Engineering
ctl.c which is linked with CONFIG_IDE
>> by way of CONFIG_BLK_SCSI_REQUEST.
>
> Please keep the code where it is and just depend on SCSI on the legacy
> ide driver. No need to do gymnastics just for a legacy case.
Yup, I agree.
--
Martin K. Petersen Oracle Linux Engineering
AD= 2,/* read */
> WBT_KSWAPD = 4,/* write, from kswapd */
> + WBT_TRIM= 8,
The term TRIM does not apply to NVMe, nor SCSI. Please call it
WBT_DISCARD.
--
Martin K. Petersen Oracle Linux Engineering
stead to find whether or not a 0 exists
> instead of using memcmp. This way you dont have to worry about buffer
> overflow which is the reason for the fortify_panic.
Clarified the commit description a bit and applied the patch
4.17/scsi-fixes. Thanks!
--
Martin K. Petersen Oracle Linux Engineering
unt?
I'm afraid not.
--
Martin K. Petersen Oracle Linux Engineering
'd love this as well.
Based on feedback last year we explicitly added a third day to LSF/MM to
facilitate hack time and project meetings.
As usual the schedule is fluid and will be adjusted on the fly.
Depending on track, I am hoping we'll be done with the scheduled topics
either at the end of T
Ming,
> When the current page can't be added to bio, one new bio should be
> created for adding this page again, instead of ignoring this page.
>
> This patch fixes kernel crash with iscsi target and dvd, as reported
> by Wakko.
I queued this up in 4.17/scsi-fixes.
--
Mar
Christoph,
> The default already is to never bounce, so the call is a no-op.
Applied to 4.18/scsi-queue. Thanks!
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> The default already is to never bounce, so the call is a no-op.
Applied to 4.18/scsi-queue. Thanks!
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> Btw, seems like someone needs to volunteer for putting together a pull
> request with target fixes for Linus - I haven't heard from Nic for a
> while, and we've got quite a few fixes out on the list.
Still happy to take things through SCSI if Nic doesn't materialize.
--
Manuel,
> I have a SATA SSD which suddenly reports its size as 2.2TB, 0x
> block count:
"Suddenly" as in out of the blue? Or after a drive firmware update? Or a
kernel ditto?
--
Martin K. Petersen Oracle Linux Engineering
X supposed to work for SATA drives behind an mpt3sas
controller?
--
Martin K. Petersen Oracle Linux Engineering
Jens,
> We can't just use scsi_cd() to get the scsi_cd structure, we have
> to grab a live reference to the device. For both callbacks, we're
> not inside an open where we already hold a reference to the device.
Applied to 4.17/scsi-fixes, thanks!
--
Martin K. Petersen Ora
Jack,
> + pr_err_ratelimited("%s: ref tag error at
> location %llu (rcvd %u)\n",
I'm a bit concerned about dropping records of potential data loss.
Also, what are you doing that compels all these to be logged? This
should be a very rare occurrenc
bandwidth. It sets an upper bound
for filesystem requests only. Regardless of the capabilities of the
block device driver and underlying hardware.
You can override the limit on a per-device basis via max_sectors_kb in
sysfs. People generally do it via a udev rule.
--
Martin K. Petersen
combined fixes+queue to linux-next to get more zeroday
coverage. However, most of the time linux-next is one 4.x+1 material
only.
--
Martin K. Petersen Oracle Linux Engineering
wnwards.
It has proven quite hard to reconcile token-based and EXTENDED COPY
semantics along with the desire to support stacking. But from an
application/filesystem perspective everything looks the same regardless
of the intricacies of the device. Nothing is preventing us from
supporting other protocols...
-
lease run checkpatch next
time!
Applied to 4.16/scsi-fixes. Thank you.
--
Martin K. Petersen Oracle Linux Engineering
Steffen,
> After v4.12 commit e2460f2a4bc7 ("dm: mark targets that pass integrity
> data"), dm-multipath, e.g. on DIF+DIX SCSI disk paths, does not support
> block integrity any more. So add it to the whitelist.
Ugh.
Reviewed-by: Martin K. Petersen <martin.peter...@ora
his patch replaces these with fixed-sized arrays using
> MAX_COMMAND_SIZE, so that the array size can be determined at compile
> time.
Applied to 4.17/scsi-queue. Thank you!
--
Martin K. Petersen Oracle Linux Engineering
Ming,
> Please consider 2/8 too since it is still a fix.
I still need the driver maintainer to ack the change.
--
Martin K. Petersen Oracle Linux Engineering
e done with
just patch 1/8 and none of the subsequent changes in place. Just to make
sure we're testing the right thing.
Thanks!
--
Martin K. Petersen Oracle Linux Engineering
Hi Ming,
> Given both Don and Laurence have verified that patch 1 and patch 2
> does fix IO hang, could you consider to merge the two first?
I'm not going to merge the MR patch until Kashyap acks it.
--
Martin K. Petersen Oracle Linux Engineering
Bart,
> This patch helps to avoid that new code gets introduced in block drivers
> that manipulates queue flags without holding the queue lock when that
> lock should be held.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Bart,
> Since it is not safe to use queue_flag_(set|clear)_unlocked() without
> holding the queue lock after the sysfs entries for a queue have been
> created, complain if this happens.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen
Bart,
> Use blk_queue_flag_set() instead of open-coding this function.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Bart,
> Use blk_queue_flag_set() instead of open-coding this function.
Acked-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Bart,
> Use the blk_queue_flag_{set,clear}() functions instead of open-coding
> these.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Bart,
> Since the queue flags may be changed concurrently from multiple
> contexts after a queue becomes visible in sysfs, make these changes
> safe by protecting these with the queue lock.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen
Bart,
> Use the blk_queue_flag_*() functions instead of open-coding these.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Bart,
> Except for changing the atomic queue flag manipulations that are
> protected by the queue lock into non-atomic manipulations, this
> patch does not change any functionality.
Looks fine.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Peter
Bart,
s/manipulaton/manipulation/ in Subject. Otherwise OK.
> Move the definition of queue_flag_clear_unlocked() up and move the
> definition of queue_in_flight() down such that all queue flag
> manipulation function definitions become contiguous.
Reviewed-by: Martin K. Petersen <
r
> causes the compiler to complain about a SECTOR_SIZE
> redefinition.
Looks good.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
BLK_STS_SOURCE, for example, when memory allocation, DMA Mapping or other
^^^^^^
--
Martin K. Petersen Oracle Linux Engineering
te the hardware
constraints.
You need to figure out why your controller is limiting the transfer
size.
--
Martin K. Petersen Oracle Linux Engineering
Bart,
> Fixes: 4246a0b63bd8 ("block: add a bi_error field to struct bio")
> Signed-off-by: Bart Van Assche <bart.vanass...@wdc.com>
Looks fine.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Jens,
> Completely up to you - I already have 1-5, I can add 6/7 as well, or
> just can do it in your tree. Let me know what you prefer.
Started my 4.16/scsi-fixes branch early based on your tree.
I queued these two up.
--
Martin K. Petersen Oracle Linux Engineering
Bart,
> Show the request result, request timeout and SCSI command flags.
> This information is very helpful when trying to figure out why a
> queue got stuck. An example of the information that is exported
> through debugfs:
Applied to 4.16/scsi-fixes, thanks.
--
Martin
Jens,
> This looks OK for me for 4.16. I can grab all of them, or I can leave
> the last two for Martin to apply if he prefers that, though that will
> add a block tree dependency for SCSI.
I already have a block dependency for 4.16. But it doesn't matter much.
--
Martin K.
and buffer runtime, also the
> recent use-after-free report[1] in scsi_show_rq() can be fixed too.
I'm still mulling over the pros and cons of this one for 4.16+...
--
Martin K. Petersen Oracle Linux Engineering
. Note: even
> with these changes scsi_show_rq() can trigger a use-after-free but
> that's a lesser evil than e.g. suppressing debug information for
> T10-PI commands completely. This patch fixes the following oops:
Applied to 4.15/scsi-fixes. Thanks, Bart.
--
Martin K. Petersen Oracle Linux Engineering
en sent).
Last I looked at this it was not entirely trivial given how we tag
things on to the end. But that really is my preferred fix.
--
Martin K. Petersen Oracle Linux Engineering
Ming,
> Jens, Martin, would any of you mind making this patch in V4.15? Since
> it fixes real use cases and this way is exact what we do before
> 0df21c86bdbf("scsi: implement .get_budget and .put_budget for blk-mq").
Applied to 4.15/scsi-fixes, thank you!
--
Martin K. P
Hi Ming,
> Please cook a patch for fixing the crash issue only, since we need
> to backport the fix to stable kernel.
I thought you were going to submit a V5 that addressed James' concerns?
--
Martin K. Petersen Oracle Linux Engineering
evant issues.
That's why the stacking works the way it does.
For your particular example, I'd say that if your device reports an
io_min of 64KB, then it's a user error to create an MD device with a
stripe chunk of 32KB. mdadm should discourage creating such a
configuration.
--
Martin K. Petersen Oracle Linux Engineering
em with only reporting granularity when the
feature is actually enabled...
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
the bitmaps
> whenever the disk capacity (number of zones) changes.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> From: Hannes Reinecke <h...@suse.de>
>
> When creating nvme multipath devices we should populate the 'slaves'
> and 'holders' directorys properly to aid userspace topology detection.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin
Christoph,
> From: Hannes Reinecke <h...@suse.de>
>
> When creating nvme multipath devices we should populate the 'slaves'
> and 'holders' directorys properly to aid userspace topology detection.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin
Christoph,
> We do this by adding a helper that returns the ns_head for a device
> that can belong to either the per-controller or per-subsystem block
> device nodes, and otherwise reuse all the existing code.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Mar
rovided by NVMe.
>
> The multipath device will go away once all paths to it disappear, any
> delay to keep it alive needs to be implemented at the controller
> level.
Beautiful!
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
y SRCU, which requires freeing the nvme_ns
> structure through call_srcu.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> This allows us to manage the various uniqueue namespace identifiers
> together instead needing various variables and arguments.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
controllers.
>
> Includes code originally from Hannes Reinecke to expose the subsystems
> in sysfs.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Damien,
> The block layer now handles zone write locking.
Looks OK.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Damien,
> wait for the disk capacity and number of zones to stabilize on the
> second revalidation pass to allocate and initialize the bitmaps.
Stabilize how?
--
Martin K. Petersen Oracle Linux Engineering
zoned block device, or if zoned block device
> support is disabled, this patch does not modify deadline behavior.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
at it, also remove the unnecessary forward declaration of the
> function deadline_move_request().
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Damien,
> Avoid directly referencing the next_rq and fifo_list arrays using the
> helper functions deadline_next_request() and deadline_fifo_request()
> to facilitate changes in the dispatch request selection in
> __dd_dispatch_request() for zoned block devices.
Reviewed-by: Martin
OK that the
patch goes through a different tree.
--
Martin K. Petersen Oracle Linux Engineering
Bart,
> Use the sgl_alloc_order() and sgl_free_order() functions instead of
> open coding these functions.
I'll merge patches 6-8 once the plumbing goes in.
--
Martin K. Petersen Oracle Linux Engineering
Benjamin,
>> Not sure it's worth it especially now that Martin has merged the patch.
>
> He did? I only saw a mail that he picked patches 2-5. So all the bsg
> changes are still open I think.
Yes, I expected the bsg bits to go through Jens' tree.
--
Martin K. Petersen
OP_WRITE_ZEROES is implemented in terms of WRITE
> SAME, blkdev_issue_zeroout() may fail with -EREMOTEIO:
Other than that patch looks good.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Ilya,
> blkdev_issue_zeroout() will use this in !BLKDEV_ZERO_NOFALLBACK case.
Looks good to me.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
o me.
Acked-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
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.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
equests
> we get. The current code will happily execute scsi commands against
> bsg-lib queues, and transport pass through against scsi nodes, without
> any indication to the driver that we are doing the wrong thing.
I applied patches 2-5 to 4.15/scsi-queue.
--
Martin K. Peter
ks fine to me.
We explicitly return -EREMOTEIO when the device reports ILLEGAL
REQUEST. But I agree that we should fall back to manually zeroing for
any error.
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> bsg-lib now embeddeds the job structure into the request, and
> req->special can't be used anymore.
Applied to 4.14/scsi-fixes.
--
Martin K. Petersen Oracle Linux Engineering
> we'll plan to try again with these fixes.
>
> This reverts commit 5c279bd9e40624f4ab6e688671026d6005b066fa.
Applied to 4.13/scsi-fixes. Thanks!
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> Found these while coming up with the fixes just sent.
Also OK.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
back to the status quo.
>
> The second one makes sure that we only verify the DIF checksums on the
> lowest layer where we attach the integrity information.
These look OK to me.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
s from one address space to
the other. In addition, some HBA hardware allows us to program the PI
engine with the seed value. So the submitter value to LBA conversion can
be done on the fly in hardware.
--
Martin K. Petersen Oracle Linux Engineering
driver or HBA firmware.
So the verification is designed to be done by the top level entity that
attaches the protection information to the bio. In this case
bio_integrity_prep().
--
Martin K. Petersen Oracle Linux Engineering
hat approach to reverting Christoph's commit.
--
Martin K. Petersen Oracle Linux Engineering
the endio function).
Anyway. So I think that the BLK_INTEGRITY_VERIFY logic needs to be
carried over to __bio_integrity_endio()...
--
Martin K. Petersen Oracle Linux Engineering
conflicts in linux-next for this merge window.
Acked-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
ome overhead of
>just enabling it when never used
Yeah, based on my experiments we'll need to drive this as an opt-in
feature for now. Short term the module option is OK. Once more devices
start materializing we probably need a white/blacklist/quirk scheme.
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> ping?
Looks good to me. I'll queue it up for 4.13 as soon as Linus has pulled
in the ata bits.
--
Martin K. Petersen Oracle Linux Engineering
rep-wielding streams police noticed several occurrences of the
string "stream" in patches 1-3 and 5. Please fix.
Otherwise OK as a baseline.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> While the Write Same page currently always is in low-level it is just
> as easy and safer to just compare the page and offset directly.
Also fine.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
Christoph,
> Signed-off-by: Christoph Hellwig <h...@lst.de>
That's fine.
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
It loses the
WRITE moniker which I'm not so keen on. But I'm not sure how we'd define
read lifetime...
--
Martin K. Petersen Oracle Linux Engineering
more, maybe these should be
F_{GET,SET}_HINT and then the individual flags can be
WRITE_LIFETIME_FOOBAR?
Otherwise OK with the fnctl approach.
--
Martin K. Petersen Oracle Linux Engineering
Jens,
> No functional changes in this patch, we just add four flags
> that will be used to denote a stream type, and ensure that we
> don't merge across different stream types.
More stream terminology...
--
Martin K. Petersen Oracle Linux Engineering
o q->stream_writes[] if they handle a stream.
s/stream/write_lifetime_bucket/ or something like that.
--
Martin K. Petersen Oracle Linux Engineering
the existing flags that's perfect (I
lost count after your op/flag shuffle).
--
Martin K. Petersen Oracle Linux Engineering
h space.
Sure, that's fine with me. But let's call them bi_hints or something. I
have a couple that I would like to add that are I/O direction agnostic.
--
Martin K. Petersen Oracle Linux Engineering
flags in block. That does not preclude using Streams Directives to
implement them in the NVMe NAND flash case. But it does not cause
conflicts with the use cases that need "proper" stream IDs for QoS or
colocation avoidance purposes in SCSI.
--
Martin K. Petersen Oracle Linux Engineering
for the SAS HBA
vendors to accommodate for SATA passthrough. But we can cross that
bridge when we get to it.
For libata I'm fine with keying off a supports_opal:1 flag in
scsi_device or something to that effect. I'd just like to reduce the
risk of introducing more RSOC regressions.
--
Martin K. Pe
Bart,
> This patch fixes two sparse warnings introduced by the "dedicated
> error codes for the block layer V3" patch series. These changes
> have not been tested.
LGTM.
--
Martin K. Petersen Oracle Linux Engineering
1 - 100 of 209 matches
Mail list logo