On Fri, Sep 27, 2019 at 07:08:43AM +0900, Damien Le Moal wrote:
> When a command is terminated with CHECK CONDITION and request sense
> executed by hijacking the command descriptor, the original command resid
> is lost and replaced with the resid from the execution of request sense.
> If based on t
On Thu, Aug 29, 2019 at 05:59:25PM +0200, Maurizio Lombardi wrote:
> iSCSI with the Challenge-Handshake Authentication Protocol is not FIPS
> compliant.
> This is due to the fact that CHAP currently uses MD5 as the only supported
> digest algorithm and MD5 is not allowed by FIPS.
>
> When FIPS mo
On Sat, Aug 31, 2019 at 02:35:37PM +0100, Al Viro wrote:
> > So for the one real life example of the configfs attribute life
> > actually is simpler. acpi_table_aml_write verifies early on that
> > the size matches what it expects. So if we document that any future
> > instance needs to be able t
On Mon, Aug 26, 2019 at 08:28:19PM +0100, Al Viro wrote:
> For configfs bin_attr it won't work, simply because it wants the entire
> thing to be present - callback parses the data. For SCSI tape... Maybe,
> but you'll need to take care of the overlaps with ->write(). Right now
> it can't happen
ITE instead, but that should be left for a separate
patch:
---
>From fbdf4e24ad1505129fb4db38644d11fa9b7e11f0 Mon Sep 17 00:00:00 2001
From: Christoph Hellwig
Date: Sat, 31 Aug 2019 10:24:55 +0200
Subject: xfs: remove xfs_release
We can just move the code directly to xfs_file_release. Additionally
remove th
On Wed, Aug 07, 2019 at 01:42:44PM +0200, Douglas Gilbert wrote:
> The biggest single item in the sg_request object is the sense
> buffer array which is SCSI_SENSE_BUFFERSIZE bytes long. That
> constant started out at 18 bytes 20 years ago and is 96 bytes
> now and might grow in the future. On the
On Wed, Aug 07, 2019 at 01:42:43PM +0200, Douglas Gilbert wrote:
> Remove the fixed size array of 16 request elements per file
> descriptor and replace with two linked lists per file descriptor.
> One list is for active commands, the other list is a free list.
> sg_request objects are now kept, ava
On Wed, Aug 07, 2019 at 01:42:42PM +0200, Douglas Gilbert wrote:
> Since access_ok() has lost it direction (3rd) parameter there
> seems to be no benefit in calling access_ok() before
> __copy_{to|from}_user(). Simplify code by using the variant of
> these functions that do not start with "__".
Ev
On Wed, Aug 07, 2019 at 01:42:41PM +0200, Douglas Gilbert wrote:
> Add sg_allow_if_err_recover() to do checks common to several entry
> points. Replace retval with either res or ret. Rename
> sg_finish_rem_req() to sg_finish_scsi_blk_rq(). Rename
> sg_new_write() to sg_submit(). Other cleanups trig
On Wed, Aug 07, 2019 at 01:42:40PM +0200, Douglas Gilbert wrote:
> Track the number of submitted and waiting (for read/receive)
> requests on each file descriptor with two atomic integers.
> This speeds sg_poll() and ioctl(SG_GET_NUM_WAITING) which
> are oft used with the asynchronous (non-blocking
[note: question for the linux-spdx audience below]
> -
> #ifdef __KERNEL__
> extern int sg_big_buff; /* for sysctl */
> #endif
FYI, these __KERNEL__ ifdefs in non-uapi headers should go away.
>
> +/*
> + * In version 3.9.01 of the sg driver, this file was spilt in two, with the
> + * bulk o
On Wed, Aug 07, 2019 at 01:42:36PM +0200, Douglas Gilbert wrote:
> Re-arrange code in sg_poll(). Rename sg_read_oxfer() to
> sg_rd_append(). In sg_start_req() rename rw to r0w.
> Plus associated changes demanded by checkpatch.pl
r0w seems like a really odd variably name that doesn't help
readabili
On Wed, Aug 07, 2019 at 01:42:38PM +0200, Douglas Gilbert wrote:
> Convert sg_device::open_cnt into an atomic. Also rename
> sg_tablesize into the more descriptive max_sgat_elems.
These are two unrelated changes that should be split. Both look ok
to me individually.
On Wed, Aug 07, 2019 at 01:42:37PM +0200, Douglas Gilbert wrote:
> + unsigned long fdev_bm[1]; /* see SG_FDEV_* defines above */
No need for the array of one here.
> +#define SG_IS_DETACHING(sdp) test_bit(SG_FDEV_DETACHING, (sdp)->fdev_bm)
> +#define SG_HAVE_EXCLUDE(sdp) test_bit(SG_FDE
On Wed, Aug 07, 2019 at 01:42:35PM +0200, Douglas Gilbert wrote:
> Replace SCSI_LOG_TIMEOUT macros with SG_LOG macros across the driver.
> The definition of SG_LOG calls SCSI_LOG_TIMEOUT if given and derived
> pointers are non-zero, calls pr_info otherwise. SG_LOGS additionally
> prints the sg devi
; case) have been removed.
>
> Signed-off-by: Douglas Gilbert
Looks good,
Reviewed-by: Christoph Hellwig
On Wed, Aug 07, 2019 at 01:42:33PM +0200, Douglas Gilbert wrote:
> Move main entry point functions around so submission code comes
> before completion code. Prior to this, the driver used the
> traditional open(), close(), read(), write(), ioctl() ordering
> however in this case that places complet
to say dma ranges instead
of a dma address, as that implicies the addr field in the sg to me.
Otherwise looks ok:
Reviewed-by: Christoph Hellwig
On Fri, Jul 26, 2019 at 06:00:57AM -0400, Suganath Prabu wrote:
> Although SAS3 & SAS3.5 IT HBA controllers support
> 64-bit DMA addressing, as per hardware design,
> DMA address with all 64-bits set (0x-)
> results in a firmware fault.
Linux will never send a dma address with all
On Mon, Jul 22, 2019 at 02:50:50PM -0400, Douglas Gilbert wrote:
> Hmmm, "non-empty", is that a GNU extension?
Yes, empty initializers are a GNU extension. One that is pretty heavily
used in the kernel.
On Mon, Jul 22, 2019 at 12:37:44PM -0700, Bart Van Assche wrote:
> Is it possible that a device defines a maximum mapping size but no DMA
> mask? Is the NULL pointer dereference that can happen an attempt to
> dereference dev->dma_ops? Have you considered to test the get_dma_ops()
> return value
Looks good,
Reviewed-by: Christoph Hellwig
On Mon, Jul 22, 2019 at 08:22:30AM +0200, Hannes Reinecke wrote:
> Gcc-9 complains for a memset across pointer boundaries, which happens
> as the code tries to allocate a flexible array on the stack.
> Turns out we cannot do this without relying on gcc-isms, so
> with this patch we'll embed the fc_
Looks good,
Reviewed-by: Christoph Hellwig
e the DMA max mapping size into account")
Reported-by: Bart Van Assche
Reported-by: Ming Lei
Signed-off-by: Christoph Hellwig
---
drivers/scsi/scsi_lib.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 93
be available on our website:
http://www.alpss.at/
Thank you on behalf of the program committee:
Stephen Bates
Sagi Grimberg
Christoph Hellwig
Johannes Thumshirn
Richard Weinberger
[1] http://www.tyrol.com/things-to-do/sports/hiking/refuge-huts/a-lizumer-hut
[2] https
This looks like what we discussed last week, so:
Reviewed-by: Christoph Hellwig
> + struct scatterlist *sg = *cur_sg ?:
> + (struct scatterlist *)scsi_sglist(srb);
> +
No need for the cast here. And I have to say I hate that GNU C
non-standard shortshut in ? :.
Why not simply:
struct scatterlist *sg = *cur_sg;
; This way allows us to pre-allocate one small scatterlist, which can be
> chained with one runtime allocated scatterlist if the pre-allocated one
> isn't enough for the whole request.
Looks good,
Reviewed-by: Christoph Hellwig
e-allocated one
> isn't enough for the whole request.
>
> Signed-off-by: Ming Lei
Looks good,
Reviewed-by: Christoph Hellwig
e-allocated one
> isn't enough for the whole request.
>
> Signed-off-by: Ming Lei
Looks good,
Reviewed-by: Christoph Hellwig
e-allocated one
> isn't enough for the whole request.
>
> Signed-off-by: Ming Lei
Looks good,
Reviewed-by: Christoph Hellwig
e-allocated one
> isn't enough for the whole request.
>
> Signed-off-by: Ming Lei
Looks good,
Reviewed-by: Christoph Hellwig
Looks good,
Reviewed-by: Christoph Hellwig
e-allocated one
> isn't enough for the whole request.
Looks good,
Reviewed-by: Christoph Hellwig
On Mon, Jun 17, 2019 at 11:03:42AM +0800, Ming Lei wrote:
> Use the scatterlist iterators and remove direct indexing of the
> scatterlist array.
>
> This way allows us to pre-allocate one small scatterlist, which can be
> chained with one runtime allocated scatterlist if the pre-allocated one
> is
The patch itsel looks good, but another case of buggy kmap it seems:
Reviewed-by: Christoph Hellwig
Looks good,
Reviewed-by: Christoph Hellwig
Same kmap issue here that will need addressing. Otherwise looks
good:
Reviewed-by: Christoph Hellwig
> - for (i = 0; i < (len / bsize_elem); i++, buffer += bsize_elem) {
> - struct page *page = sg_page(&scatterlist[i]);
> + for (i = 0; i < (len / bsize_elem); i++, sg = sg_next(sg), buffer +=
> bsize_elem) {
Please split the overly long line.
> + struct page *page
e-allocated one
> isn't enough for the whole request.
>
> Reviewed-by: Ewan D. Milne
> Signed-off-by: Ming Lei
Looks good,
Reviewed-by: Christoph Hellwig
e-allocated one isn't enough
> for the whole request.
>
> Reviewed-by: Ewan D. Milne
Looks good,
Reviewed-by: Christoph Hellwig
e-allocated one isn't
> enough for the whole request.
>
> Reviewed by: Ewan D. Milne
> Signed-off-by: Ming Lei
Looks good,
Reviewed-by: Christoph Hellwig
e-allocated one
> isn't enough for the whole request.
>
> Reviewed-by: Ewan D. Milne
> Signed-off-by: Ming Lei
Looks good,
Reviewed-by: Christoph Hellwig
Looks good,
Reviewed-by: Christoph Hellwig
Looks good,
Reviewed-by: Christoph Hellwig
Thanks. As discusssed before there really shouldn't be any reason
for users to inject a blocked state:
Reviewed-by: Christoph Hellwig
Looks good,
Reviewed-by: Christoph Hellwig
> @@ -381,16 +382,18 @@ static void esp_map_dma(struct esp *esp, struct
> scsi_cmnd *cmd)
>* a dma address, so perform an identity mapping.
>*/
> spriv->num_sg = scsi_sg_count(cmd);
>
Looks good,
Reviewed-by: Christoph Hellwig
On Wed, Jun 05, 2019 at 11:47:23PM -0700, Sagi Grimberg wrote:
> Not sure I understand.
>
> max_segment_size and virt_boundary_mask are related how?
virt_boundary_devices has hardware segment size of a single page (device
page as identified by the boundary, not necessarily linux PAGE_SIZE).
So we
On Wed, Jun 05, 2019 at 05:02:09PM -0700, Sagi Grimberg wrote:
> if the lld does not explicitly sets this, scsi takes BLK_MAX_SEGMENT_SIZE
> and sets it using dma_set_max_seg_size(). In our case, this will affect
> all the rdma device consumers.
>
> Fix it by setting shost max_segment_size accordi
On Wed, Jun 05, 2019 at 12:10:20PM -0700, Stephen Hemminger wrote:
> > Sure. But they should not get a way out for just one specific driver.
>
> There are people running new kernels on 6 year old distributions.
> Was every distribution smart enough then? If you think so, then
> this not necessary
Hi Jens,
we've always had a bit of a problem communicating the block layer
queue limits to the DMA layer, which needs to respect them when
an IOMMU that could merge segments is used. Unfortunately most
drivers don't get this right. Oddly enough we've been mostly
getting away with it, although la
This ensures all proper DMA layer handling is taken care of by the
SCSI midlayer.
Signed-off-by: Christoph Hellwig
---
drivers/usb/storage/uas.c | 36
1 file changed, 16 insertions(+), 20 deletions(-)
diff --git a/drivers/usb/storage/uas.c b/drivers/usb
e the bogus nomerges flag, merges do take the virt_boundary
into account.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 11 +++
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
b/drivers/scsi/mpt3sas/mpt3sas_sc
This ensures all proper DMA layer handling is taken care of by the
SCSI midlayer.
Signed-off-by: Christoph Hellwig
---
drivers/usb/storage/scsiglue.c | 10 --
drivers/usb/storage/usb.c | 10 ++
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/usb
This allows drivers setting it up easily instead of branching out to
block layer calls in slave_alloc, and ensures the upgraded
max_segment_size setting gets picked up by the DMA layer.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/hosts.c | 3 +++
drivers/scsi/scsi_lib.c | 3
We need to also mirror the value to the device to ensure IOMMU merging
doesn't undo it, and the SCSI host level parameter will ensure that.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/ufs/ufshcd.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/scs
On Wed, Jun 05, 2019 at 12:06:40PM -0700, Stephen Hemminger wrote:
> > Which is true for every device, and why we use UUIDs or label for
> > mounts that are supposed to be stable.
>
> Not everyone is smart enough to do that.
Sure. But they should not get a way out for just one specific driver.
On Wed, Jun 05, 2019 at 11:52:05AM -0700, Stephen Hemminger wrote:
> Doing asynchronous probing can lead to reordered device names
> which is leads to failed mounts.
Which is true for every device, and why we use UUIDs or label for
mounts that are supposed to be stable.
ble in many places in scsi.
Otherwise looks fine:
Reviewed-by: Christoph Hellwig
looks good:
Reviewed-by: Christoph Hellwig
On Thu, May 30, 2019 at 07:14:14PM +0200, Hannes Reinecke wrote:
>> Is this really required? I would think that a non-zero value for
>> shost->nr_reserved_cmds means the same thing in practice.
>> ;
> My implementation actually allows for per-device reserved tags (eg for
> virtio). But some drive
> +static inline struct scsi_cmnd *scsi_get_reserved_cmd(struct scsi_device
> *sdev)
> +{
> + struct request *rq;
> + struct scsi_cmnd *scmd;
> +
> + rq = blk_mq_alloc_request(sdev->request_queue,
> + REQ_OP_SCSI_OUT | REQ_NOWAIT,
> +
On Wed, May 29, 2019 at 03:28:38PM +0200, Hannes Reinecke wrote:
> Reserved requests are internal to the driver and we wouldn't know
> if and how they should be merged.
> So disable the elevator for reserved tags.
Internal request better be REQ_OP_DRV* pass through requests,
for which we never mer
On Thu, May 16, 2019 at 05:44:43PM -0400, tedheadster wrote:
> On Thu, May 16, 2019 at 2:58 AM Christoph Hellwig wrote:
> >
> > Can you still send me the dmesg output with the AHCI debug patch?
> > I'm curious why we can't do 64-bit DMA to your device.
>
> Ch
On Wed, May 15, 2019 at 06:23:20PM -0400, tedheadster wrote:
> Christoph,
> I believe I found the problem, and it does not relate to anything I
> considered before. I forgot that I had chosen the SLOB memory
> allocator for a previous test and it was still enabled. There was a
> huge amount of lo
On Mon, May 13, 2019 at 08:20:03AM -0400, tedheadster wrote:
> On Mon, May 13, 2019 at 3:02 AM Christoph Hellwig wrote:
> >
> > On Sun, May 12, 2019 at 02:55:48PM -0400, tedheadster wrote:
> > > Christoph,
> > > On the same hardware (reboot with different kern
On Sun, May 12, 2019 at 02:55:48PM -0400, tedheadster wrote:
> Christoph,
> On the same hardware (reboot with different kernel) I am getting
> _horrible_ disk I/O performance on the 5.1.1. kernel compiled on a
> 32-bit platform using HIGHMEM64G (PAE) to access 32GiB of physical
> memory.
>
> The
On Thu, May 02, 2019 at 08:06:38AM +0200, Hannes Reinecke wrote:
> On 5/1/19 6:14 PM, Christoph Hellwig wrote:
>> osst.c is the only osst file missing licensing information. Add a
>> GPLv2 tag for the default kernel license.
>>
>> Signed-off-by: Chriosstoph Hellwig
Use the the GPLv2+ SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/scsi_transport_fc.c | 18 +-
include/scsi/scsi_transport_fc.h | 18 +-
2 files changed, 2 insertions(+), 34 deletions(-)
diff --git a/drivers/scsi
The FC transport class uapi headers already have proper SPDX tags,
remove the duplicate boilerplate text.
Signed-off-by: Christoph Hellwig
---
include/uapi/scsi/scsi_bsg_fc.h | 15 ---
include/uapi/scsi/scsi_netlink_fc.h | 15 ---
2 files changed, 30 deletions
Use the the GPLv2+ SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/scsi_transport_srp.c | 16 +---
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/drivers/scsi/scsi_transport_srp.c
b/drivers/scsi/scsi_transport_srp.c
Hi all,
this series switches all SCSI midlayer, upper driver, transport class and
library files to have proper SPDX tags instead of no licensing information
or copy and pasted boilerplate code.
Use the the GPLv2+ SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
include/scsi/scsi_transport.h | 15 +--
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/include/scsi/scsi_transport.h b/include/scsi/scsi_transport.h
index
Use the GPLv2 SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/scsi_logging.c | 3 +--
drivers/scsi/scsi_sysctl.c | 2 +-
drivers/scsi/scsi_trace.c | 14 +-
3 files changed, 3 insertions(+), 16 deletions(-)
diff --git a/drivers
The SCSI netlink uapi header already has a proper SPDX tag, remove the
duplicate boilerplate text.
Signed-off-by: Christoph Hellwig
---
include/uapi/scsi/scsi_netlink.h | 15 ---
1 file changed, 15 deletions(-)
diff --git a/include/uapi/scsi/scsi_netlink.h b/include/uapi/scsi
Use the the GPLv2 SPDX tag instead of a free form blurb.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/scsi_transport_sas.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/scsi_transport_sas.c
b/drivers/scsi/scsi_transport_sas.c
index 60f1a81d2034
Use the the GPLv2+ SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/scsi_transport_spi.c | 15 +--
include/scsi/scsi_transport_spi.h | 15 +--
2 files changed, 2 insertions(+), 28 deletions(-)
diff --git a/drivers/scsi
Use the the GPLv2 SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/fcoe/fcoe.c | 14 +-
drivers/scsi/fcoe/fcoe.h | 14 +-
drivers/scsi/fcoe/fcoe_ctlr.c | 14 +-
drivers/scsi/fcoe
Use the the GPLv2+ SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/libiscsi.c | 15 +--
drivers/scsi/libiscsi_tcp.c | 13 +
include/scsi/iscsi_if.h | 13 +
include/scsi/iscsi_proto.h| 13
sd.c is the only sd file missing licensing information. Add a
GPLv2 tag for the default kernel license.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/sd.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 2b2bc4b49d78..4852c2223359 100644
--- a
Use the the GPLv2 SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/libfc/fc_disc.c | 14 +-
drivers/scsi/libfc/fc_elsct.c | 14 +-
drivers/scsi/libfc/fc_exch.c | 14 +-
drivers/scsi/libfc/fc_fcp.c | 14
Use the the GPLv2 SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/libsas/sas_discover.c | 18 +-
drivers/scsi/libsas/sas_event.c | 18 +-
drivers/scsi/libsas/sas_expander.c | 16 +---
drivers/scsi
Use the the GPLv2 SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/sd_dif.c | 16 +---
drivers/scsi/sd_zbc.c | 16 +---
2 files changed, 2 insertions(+), 30 deletions(-)
diff --git a/drivers/scsi/sd_dif.c b/drivers/scsi
sas_task.c is the only libsas file missing licensing information. Add a
GPLv2 tag for the default kernel license.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/libsas/sas_task.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/libsas/sas_task.c b/drivers
Use the the GPLv2+ SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/libsas/sas_ata.c | 16 +---
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c
index
st.c is the only st file missing licensing information. Add a
GPLv2 tag for the default kernel license.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/st.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index 19c022e66d63..b814906af0a3 100644
--- a
osst.c is the only osst file missing licensing information. Add a
GPLv2 tag for the default kernel license.
Signed-off-by: Chriosstoph Hellwig
---
drivers/scsi/osst.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/osst.c b/drivers/scsi/osst.c
index be3c73ebbfde..fe4f0e7d6359 1
sr.c is the only sr file missing licensing information. Add a
GPLv2 tag for the default kernel license.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/sr.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index 039c27c2d7b3..701d1e68d86e 100644
--- a
Use the the GPLv2+ SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/sg.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index d3f15319b9b3..bcdc28e5ede7 100644
--- a/drivers/scsi/sg.c
Use the the GPLv2 SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/ses.c | 20 ++--
1 file changed, 2 insertions(+), 18 deletions(-)
diff --git a/drivers/scsi/ses.c b/drivers/scsi/ses.c
index 0fc39224ce1e..8afea5a1d3f0 100644
--- a
Use the the GPLv2+ SPDX tag instead of verbose boilerplate text.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/scsi_transport_iscsi.c | 15 +--
include/scsi/scsi_transport_iscsi.h | 15 +--
2 files changed, 2 insertions(+), 28 deletions(-)
diff --git a/drivers/scsi
The libfc uapi headers already have proper SPDX tags, remove the
duplicate boilerplate text.
Signed-off-by: Christoph Hellwig
---
include/uapi/scsi/fc/fc_els.h | 13 -
include/uapi/scsi/fc/fc_fs.h | 13 -
include/uapi/scsi/fc/fc_gs.h | 13 -
include/uapi
Add the default kernel GPLv2 annotation to SCSI midlayer files missing
any licensing information.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/hosts.c| 1 +
drivers/scsi/scsi.c | 1 +
drivers/scsi/scsi_debugfs.h | 1 +
drivers/scsi/scsi_error.c | 1 +
drivers/scsi
On Sun, Apr 28, 2019 at 10:06:24PM +0200, Ondrej Zary wrote:
> Future Domain TMC-3260/AHA-2920A PCI card support.
>
> Tested on Adaptec AHA-2920A PCI card.
>
> Signed-off-by: Ondrej Zary
Looks fine:
Reviewed-by: Christoph Hellwig
> +void fdomain_reset(int base)
Should be marked static.
Otherwise looks fine:
Reviewed-by: Christoph Hellwig
On Sun, Apr 28, 2019 at 09:52:31PM +0200, Ondrej Zary wrote:
> On Wednesday 24 April 2019 08:02:12 Christoph Hellwig wrote:
> > > +static void fdomain_work(struct work_struct *work)
> > > +{
> > > + struct fdomain *fd = container_of(work, struct fdomain, work)
On Sun, Apr 28, 2019 at 04:14:06PM +0800, Ming Lei wrote:
> In normal queue cleanup path, hctx is released after request queue
> is freed, see blk_mq_release().
>
> However, in __blk_mq_update_nr_hw_queues(), hctx may be freed because
> of hw queues shrinking. This way is easy to cause use-after-f
e == NUMA_NO_NODE)
> - node = hctx->numa_node = set->numa_node;
> + hctx->numa_node = set->numa_node;
> + node = hctx->numa_node;
Why not:
if (node == NUMA_NO_NODE)
set->numa_node;
hctx->numa_node = node;
?
Otherwise looks fine:
Reviewed-by: Christoph Hellwig
1 - 100 of 4514 matches
Mail list logo