n = nphysicals + nlogicals;
>
> So the first logical volume gets BTL 0:0:0 and then we attempt to add in
> the controller
> using the same BTL values at the end of the list. Thus you get the
> "device not added" messages.
>
> The change to bus 0 was because t
(-)
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 2
through struct
irq_affinity.
Signed-off-by: Christoph Hellwig
---
drivers/pci/msi.c | 8
include/linux/interrupt.h | 4 ++--
kernel/irq/affinity.c | 24 ++--
3 files changed, 16 insertions(+), 20 deletions(-)
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
On 11/08/2016 04:11 PM, Christoph Hellwig wrote:
On Tue, Nov 08, 2016 at 04:08:51PM +0100, Hannes Reinecke wrote:
The use-case here is that one needs to feed the MSI-X index into the driver
command structure. While we can extract that number trivially with scsi-mq,
but for scsi-sq we don't
On 11/08/2016 03:56 PM, Christoph Hellwig wrote:
On Tue, Nov 08, 2016 at 08:47:21AM +0100, Hannes Reinecke wrote:
Add a reverse-mapping function to return the interrupt vector for
any CPU if interrupt affinity is enabled.
What's the use case of it?
Also as-is this won't work due
On 11/08/2016 03:55 PM, Christoph Hellwig wrote:
[please trim the f***king context in your replies, thanks..]
On Tue, Nov 08, 2016 at 09:15:27AM +0100, Hannes Reinecke wrote:
+irq_create_affinity_masks(int nvecs, const struct irq_affinity *affd)
{
- int n, nodes, vecs_per_node
[DEVICE_COUNT_RESOURCE]; /* I/O and memory
regions + expansion ROMs */
bool match_driver; /* Skip attaching driver */
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 7
, 32 insertions(+), 12 deletions(-)
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithar
file changed, 33 insertions(+), 29 deletions(-)
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffe
ASK_NONE;
struct cpumask *masks;
cpumask_var_t nmsk;
Check for NULL affd?
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. I
- int cpus, ret;
+ int resv = affd->pre_vectors + affd->post_vectors;
+ int vecs = maxvec - resv;
+ int cpus;
Shouldn't you check for NULL affd here?
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
)
extern cpumask_var_t irq_default_affinity;
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffe
Add a reverse-mapping function to return the interrupt vector for
any CPU if interrupt affinity is enabled.
Signed-off-by: Hannes Reinecke
---
drivers/pci/msi.c | 36
include/linux/pci.h | 1 +
2 files changed, 37 insertions(+)
diff --git a/drivers/pci
> include/linux/blk-mq-pci.h | 3 ++-
> 3 files changed, 7 insertions(+), 4 deletions(-)
>
With this patch smartpqi doesn't compile anymore; it still uses the old
interface.
So to get this merged you probably should send a patch for that one, too.
Cheers,
Hannes
--
Dr. Hannes Reine
> include/linux/blk-mq-pci.h | 3 ++-
> 3 files changed, 7 insertions(+), 4 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX G
---
> 4 files changed, 98 insertions(+), 68 deletions(-)
>
Good idea.
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SU
e physical blocksize.
Signed-off-by: Hannes Reinecke
---
drivers/block/loop.c | 36 +++-
drivers/block/loop.h | 1 +
include/uapi/linux/loop.h | 1 +
3 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/drivers/block/loop.c b/drivers/block/lo
re welcome.
Changes to v1:
- Move LO_FLAGS_BLOCKSIZE definition
- Reshuffle patches
Changes to v2:
- Include reviews from Ming Lei
Changes to v3:
- Include reviews from Christoph
- Merge patches
Hannes Reinecke (2):
loop: Remove unused 'bdev' argument from loop_set_capacity
loop: support 4
Signed-off-by: Hannes Reinecke
Reviewed-by: Christoph Hellwig
Reviewed-by: Ming Lei
---
drivers/block/loop.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index fa1b7a9..3008dec 100644
--- a/drivers/block/loop.c
+++ b
On 11/01/2016 03:02 PM, Christoph Hellwig wrote:
On Mon, Oct 31, 2016 at 08:37:19PM +0100, Hannes Reinecke wrote:
The current LOOP_SET_STATUS64 ioctl has two unused fields
'init[2]', which can be used in conjunction with the
LO_FLAGS_BLOCKSIZE flag to pass in the new logical blocksize
On 11/01/2016 03:02 PM, Christoph Hellwig wrote:
On Mon, Oct 31, 2016 at 08:37:19PM +0100, Hannes Reinecke wrote:
The current LOOP_SET_STATUS64 ioctl has two unused fields
'init[2]', which can be used in conjunction with the
LO_FLAGS_BLOCKSIZE flag to pass in the new logical blocksize
On 11/01/2016 03:01 PM, Christoph Hellwig wrote:
On Mon, Oct 31, 2016 at 08:37:18PM +0100, Hannes Reinecke wrote:
Add a new field 'lo_logical_blocksize' to hold the logical
blocksize of the loop device.
Why do we use the same flag for both block sizes? If there is a good
reason f
The current LOOP_SET_STATUS64 ioctl has two unused fields
'init[2]', which can be used in conjunction with the
LO_FLAGS_BLOCKSIZE flag to pass in the new logical blocksize.
Signed-off-by: Hannes Reinecke
---
drivers/block/loop.c | 24 +++-
1 file changed, 19 insert
Reshuffle patches
Changes to v2:
- Include reviews from Ming Lei
Hannes Reinecke (4):
loop: Remove unused 'bdev' argument from loop_set_capacity
loop: Enable correct physical blocksize
loop: Add 'lo_logical_blocksize'
loop: Pass logical blocksize in 'lo_init[0]&
Signed-off-by: Hannes Reinecke
Reviewed-by: Christoph Hellwig
---
drivers/block/loop.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index fa1b7a9..3008dec 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
When running on files the physical blocksize is actually 4k,
so we should be announcing it as such. This is enabled with
a new LO_FLAGS_BLOCKSIZE flag value to the existing
loop_set_status ioctl.
Signed-off-by: Hannes Reinecke
---
drivers/block/loop.c | 9 -
include/uapi/linux
Add a new field 'lo_logical_blocksize' to hold the logical
blocksize of the loop device.
Signed-off-by: Hannes Reinecke
---
drivers/block/loop.c | 9 +++--
drivers/block/loop.h | 1 +
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/block/loop.c b/drivers/bl
bsg_reply = job->reply;
>>>> +bsg_reply->reply_payload_rcv_len = 0;
>>>> +bsg_reply->result = -ENOMSG;
>
> Compiler optimization re-ordered above two lines and the first pointer
> derefence is bsg_reply->result [field offset 0] where bsg_reply is NULL.
> The assignment tries to write to memory at address NULL causing the
> kernel page fault.
>
I spoke to our compiler people, and they strongly believed this not to
be the case. Or, put it the other way round, if such a thing would
happen it would be a compiler issue.
Have you checked the compiler output?
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
On 10/27/2016 01:51 PM, Bjorn Helgaas wrote:
> On Thu, Oct 27, 2016 at 07:42:27AM +0200, Hannes Reinecke wrote:
>> On 10/26/2016 09:43 PM, Bjorn Helgaas wrote:
>>> Hi Johannes,
>>>
>>> On Wed, Oct 26, 2016 at 03:53:34PM +0200, Johannes Thumshirn wrote:
>&g
R_VERSION "14.100.00.00"
> +#define MPT3SAS_MAJOR_VERSION14
> #define MPT3SAS_MINOR_VERSION 100
> #define MPT3SAS_BUILD_VERSION 0
> #define MPT3SAS_RELEASE_VERSION 00
>
Rev
#define MPT3SAS_MAJOR_VERSION14
> -#define MPT3SAS_MINOR_VERSION100
> +#define MPT3SAS_MINOR_VERSION101
> #define MPT3SAS_BUILD_VERSION 0
> #define MPT3SAS_RELEASE_VERSION 00
>
>
rs/scsi/mpt3sas/mpt3sas_ctl.c | 46
> ++--
> drivers/scsi/mpt3sas/mpt3sas_scsih.c | 24 ++-
> 4 files changed, 86 insertions(+), 8 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
the _HPX method was causing the RCB for all PCI
devices to be set to 128 bytes, while the root bridge remained at 64 bytes.
While this is arguably a BIOS bug, earlier linux version (ie without the
mentioned patch) were running fine, so this is actually a regression.
Cheers,
Hannes
--
Dr. Hann
d-off-by: Johannes Thumshirn
> ---
> drivers/pci/probe.c | 26 --
> 1 file changed, 24 insertions(+), 2 deletions(-)
>
This fixes a regression where the mlx4 driver would not load (and, in
fact, crash) on certain Ivybridge servers.
Reviewed-by: Hannes Reinecke
s you're adding devices you (might) increase the number of devices,
potentially overflowing the bitmap.
Hence the question: is it possible that you can add _more_ devices than
the bitmap can hold?
Or, to put it the other way round: Why don't you need to check the size
of the bitmap t
shost) ? -ENODEV : 0;
> +#else
> + share_irq = 0;
> + ret = -ENODEV;
> #endif /* CONFIG_PCI */
> }
>
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckezSeries & Storage
h...@suse.com
to_cpu(sas_device_pg0.Slot);
+ sas_device_pg0.Flags = le16_to_cpu(sas_device_pg0.Flags);
_scsih_mark_responding_sas_device(ioc, &sas_device_pg0);
}
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse
ioc->combined_reply_index_count =
+ MPT3_SUP_REPLY_POST_HOST_INDEX_REG_COUNT_G3;
+ }
break;
default:
return -ENODEV;
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Re
*scmd,
mpi_request_3v->EEDPBlockSize =
cpu_to_le16(scmd->device->sector_size);
+
+ if (ioc->is_gen35_ioc)
+ eedp_flags |= MPI25_SCSIIO_EEDPFLAGS_APPTAG_DISABLE_MODE;
mpi_request->EEDPFlags = cpu_to_le16(eedp_flags);
}
Reviewed-by: Hann
deletions(-)
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmany
+ PCI_ANY_ID, PCI_ANY_ID },
{0} /* Terminating entry */
};
MODULE_DEVICE_TABLE(pci, mpt3sas_pci_table);
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49
/
#define MPT_DEVICE_FLAGS_INIT 0x01
-#define MPT_DEVICE_TLR_ON 0x02
#define MFG_PAGE10_HIDE_SSDS_MASK (0x0003)
#define MFG_PAGE10_HIDE_ALL_DISKS (0x00)
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networkin
define MPT3SAS_MINOR_VERSION 100
#define MPT3SAS_BUILD_VERSION 0
#define MPT3SAS_RELEASE_VERSION00
Please move this to the end of the patch series.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +
case MPI2_EVENT_SAS_TOPO_RC_TARG_ADDED:
@@ -7707,6 +7726,9 @@ mpt3sas_scsih_reset_handler(struct MPT3SAS_ADAPTER *ioc,
int reset_phase)
complete(&ioc->tm_cmds.done);
}
+ memset(ioc->pend_os_device_add, 0, ioc->pend_os
goto try_ioapic;
if (ioc->msix_vector_count < ioc->cpu_count)
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 9
retried device_unblock"
" failed with return(%d) for handle(0x%04x)\n",
- sas_device_priv_data->sas_target->handle, r);
+ r, sas_device_priv_data->sas_target->handle);
}
}
Reviewed-by: Hannes Reinecke
Cheers,
Hanne
*sdkp)
/* Do a report zone to get the same field */
ret = sd_zbc_report_zones(sdkp, buf, SD_ZBC_BUF_SIZE, 0);
- if (ret)
+ if (ret) {
+ zone_blocks = 0;
goto out;
+ }
same = buf[4] & 0x0f;
if (same > 0) {
On 10/18/2016 11:56 AM, Karel Zak wrote:
> On Mon, Oct 17, 2016 at 12:20:30PM +0200, Hannes Reinecke wrote:
>> The GPT specification requires that the alternate GPT is at the
>> end of the disk. However, if a Software RAID1 is enabled the RAID
>> metadata typically placed a
is does it trying to out-guess what the compiler might be
doing during compilation. For which the easiest method is checking.
So back to the original task for you: Show me in the generated output
where the benefits are.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storag
ccasionally: yes.
In this particular case: hardly.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
.5
>
> Thanks for this detail.
>
> * Did you choose any special optimisation settings for your quick check?
>
> * Will any compilation results matter if "optimisation" would be
> switched off there?
>
>
These were the results when calling 'make' in
reconsider
> implementation details from three status functions?
>
No.
But we're waiting for you showing is that it is an improvement.
Which at the moment we don't see.
Hence we're waiting from a proof or validation from your side.
Cheers,
Hannes
--
Dr. Hannes Reinecke
ave a partition table which is
_smaller_ than the device; eg we don't check for the device
size in the msdos partition, neither.
So don't print out a warning here.
Signed-off-by: Hannes Reinecke
---
block/partitions/efi.c | 15 ---
1 file changed, 15 deletions(-)
diff --git a/b
code for driver/md/raid1.c, but with one instruction _more_
>> after your patch has been applied.
>
> Which software versions and command parameters did you try out
> for this information (from an unspecified run time environment)?
>
>
# gcc --version
gcc (SUSE Linux) 4.8.5
Co
character?
>
Because it's being called at the end of a function calling seq_printf()
already. So exchanging a single call is probably not helping anything,
as the compiler will optimize it anyway.
Case in point: with your patch the x86_64 compiler generates nearly
identical code for driver
he answer is 'yes' to the above two
questions) the patch will be applied.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
v)
seq_printf (seq, "%s", rdev && test_bit(In_sync, &rdev->flags) ? "U" :
"_");
}
rcu_read_unlock();
- seq_printf (seq, "]");
+ seq_putc(seq, ']');
}
static void print_raid5_conf (stru
On 10/14/2016 08:35 PM, Adam Manzananares wrote:
The 10/14/2016 07:54, Hannes Reinecke wrote:
On 10/13/2016 09:53 PM, Adam Manzanares wrote:
Patch adds an association between iocontext ioprio and the ioprio of a
request. This value is set in blk_rq_set_prio which takes the request and
the ioc
->ioprio & 0x7))
> - scsictl |= MPI_SCSIIO_CONTROL_HEADOFQ;
> - }
> } else
> scsictl = scsidir | MPI_SCSIIO_CONTROL_UNTAGGED;
>
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
> +static inline void blk_rq_set_prio(struct request *rq, struct io_context
> *ioc)
> +{
> + if (ioc)
> + rq->ioprio = ioc->ioprio;
> +}
> +
> +/*
> * Request issue related functions.
> */
> extern struct request *blk_peek_request(struct re
++-
> drivers/scsi/qla2xxx/qla_bsg.c | 66 +-
> drivers/scsi/scsi_transport_fc.c | 22 +++--
> include/scsi/scsi_transport_fc.h | 3 +-
> 8 files changed, 116 insertions(+), 60 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Ha
t; drivers/scsi/qla2xxx/qla_bsg.c | 54
>
> drivers/scsi/scsi_transport_fc.c | 2 +-
> include/scsi/scsi_transport_fc.h | 5
> 8 files changed, 56 insertions(+), 53 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
+
> drivers/scsi/scsi_transport_fc.c | 287
> ++-
> 2 files changed, 44 insertions(+), 244 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74
*job_fn, int dd_job_size);
> void bsg_request_fn(struct request_queue *q);
> -void bsg_softirq_done(struct request *rq);
> void bsg_job_put(struct bsg_job *job);
> int __must_check bsg_job_get(struct bsg_job *job);
>
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hann
i_transport_fc.c | 16 ++--
> include/linux/bsg-lib.h | 1 +
> 3 files changed, 5 insertions(+), 15 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
i/scsi_transport_fc.c | 4 ++--
> include/linux/bsg-lib.h | 3 ++-
> 3 files changed, 18 insertions(+), 6 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
> drivers/scsi/scsi_transport_fc.c | 41 +++--
> include/scsi/scsi_transport_fc.h | 2 --
> 8 files changed, 50 insertions(+), 87 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
--
> include/linux/bsg-lib.h | 1 +
> 3 files changed, 5 insertions(+), 19 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053
_fc.h | 63 ++----
> 17 files changed, 138 insertions(+), 163 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX G
s actually
running, and we might clash with eg. timeouts or somesuch.
Maybe it's an idea to move blk_end_request_all into the kref destroy
callback; that way we're guaranteed to call it only once and would avoid
this situation.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
+--
> include/linux/bsg-lib.h | 2 ++
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LIN
|= FC_RQST_STATE_DONE;
> fc_bsg_jobdone(job, bsg_reply->result,
> bsg_reply->reply_payload_rcv_len);
> kfree(info);
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Net
csi/scsi_transport_fc.h | 5 +
> 7 files changed, 17 insertions(+), 10 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX Gmb
d, 50 insertions(+), 51 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
; drivers/scsi/qla2xxx/qla_bsg.c | 264
> ++-
> drivers/scsi/qla2xxx/qla_iocb.c | 5 +-
> drivers/scsi/qla2xxx/qla_isr.c | 46 ---
> drivers/scsi/qla2xxx/qla_mr.c| 10 +-
> drivers/scsi/scsi_transport_fc.c | 37 +++---
> 10 files changed, 387 inse
.c | 2 +-
> include/scsi/scsi_transport_fc.h | 12 +++-
> 3 files changed, 6 insertions(+), 11 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
port
libfc: use fc_bsg_to_rport() to access a bsg_job's rport
ibmvfc: use fc_bsg_to_rport() to access a bsg_job's rport
And these.
That should cut down the number of patches by quite a bit.
Cheers,
Hannes
--
Dr. Hannes ReineckezSeries & Storage
h.
}
return conf;
free_conf:
Actually I prefer having error messages, especially if you have several
possible failures all leading to the same return value.
Without it debugging becomes really hard.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networkin
the dm-event usage from multipathing.
As it stands using dm-events from multipathing is a massive resource
drain (we have to allocate a waiting thread for each device), and we
more-or-less disregard that information anyway as it is an ex-post
notification made _after_ someone modified the
14 files changed, 495 insertions(+), 487 deletions(-)
> delete mode 100644 drivers/scsi/g_NCR5380_mmio.c
>
For this series:
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
interrupt routine to do all sorts of things, and are
thereby well versed to keep interrupts disabled for an extented amount
of time.
However, we don't really have a good way of handling a request firmware
here; we probably would need to implement a workqueue to handle this
properly ...
Cheers,
Ha
TL (mpt3sas being the most
prominent other one).
And while they might support ATA_12/ATA_16, there is no indication that
you can pass DSM TRIM that way.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX
dev_printk(KERN_DEBUG, &pdev->dev, "Failed to allocate"
> + dev_printk(KERN_DEBUG, &pdev->dev, "Failed to allocate "
> "memory for producer, consumer\n");
> goto fail_alloc_dma_buf;
>
> 1 file changed, 16 insertions(+), 4 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
id_frame_v1_hw()
> in start_phy_v1_hw() since it will be used for
> PHY reset functions.
>
> Signed-off-by: John Garry
> Signed-off-by: Xiang Chen
> ---
> drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 10 --
> 1 file changed, 10 deletions(-)
>
Reviewed-by: Hannes Re
TA_DEV:
> + case SAS_SATA_PENDING:
> if (parent_dev && DEV_IS_EXPANDER(parent_dev->dev_type))
> qw0 = HISI_SAS_DEV_TYPE_STP << ITCT_HDR_DEV_TYPE_OFF;
> else
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
id_frame_v2_hw()
> in start_phy_v2_hw() since it will be used for
> PHY reset functions.
>
> Signed-off-by: John Garry
> Signed-off-by: Xiang Chen
> ---
> drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 10 --
> 1 file changed, 10 deletions(-)
>
Reviewed-by: Hannes Re
, TX_ID_DWORD4,
> - identify_buffer[3]);
> + __swab32(identify_buffer[4]));
> hisi_sas_phy_write32(hisi_hba, phy_no, TX_ID_DWORD5,
> __swab32(identify_buffer[5]));
> }
>
Reviewed-by: Hannes Reinecke
Cheers,
Hann
; + __swab32(identify_buffer[4]));
> hisi_sas_phy_write32(hisi_hba, phy_no, TX_ID_DWORD5,
> __swab32(identify_buffer[5]));
> }
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Stor
ed-off-by: Xiang Chen
> Signed-off-by: John Garry
> ---
> drivers/scsi/hisi_sas/hisi_sas_main.c | 13 ++---
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@
Xiang Chen
> Signed-off-by: John Garry
> ---
> drivers/scsi/hisi_sas/hisi_sas_main.c | 26 ++----
> 1 file changed, 6 insertions(+), 20 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de
ABLE, 0);
>
> /* Disable all of the PHYs */
> for (i = 0; i < hisi_hba->n_phy; i++) {
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX
- link_rate = (link_rate >> (phy_no * 4)) & 0xf;
> sas_phy->linkrate = link_rate;
> hard_phy_linkrate = hisi_sas_phy_read32(hisi_hba, phy_no,
> HARD_PHY_LINKRATE);
>
Reviewed-by: Hannes Reine
s = hisi_hba->slot_index_count / BITS_PER_BYTE;
> hisi_hba->slot_index_tags = devm_kzalloc(dev, s, GFP_KERNEL);
> if (!hisi_hba->slot_index_tags)
> goto err_out;
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSe
sizeof(*slot));
> + /* slot memory is fully zeroed when it is reused */
> }
> EXPORT_SYMBOL_GPL(hisi_sas_slot_task_free);
>
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911
y.c | 50 -
> drivers/scsi/libsas/sas_port.c | 23 --
> include/scsi/libsas.h | 8 -
> 6 files changed, 66 insertions(+), 84 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
gt;n_phy; i++) {
> - hisi_sas_phy_write32(hisi_hba, i, CHL_INT2_MSK, 0x6a);
> - hisi_sas_phy_read32(hisi_hba, i, CHL_INT2_MSK);
> - }
> -
> setup_timer(timer, start_phys_v2_hw, (unsigned long)hisi_hba);
> mod_timer(timer, jiffies + HZ);
&
+---
> 4 files changed, 25 insertions(+), 8 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Cheers
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
hn Garry
> ---
> drivers/scsi/hisi_sas/hisi_sas.h | 1 +
> drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 6 ++
> drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 5 ++---
> 3 files changed, 5 insertions(+), 7 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes
o deadline given nor any repositories to be had where this rewrite
could be looked at.
Which makes contributing _really_ hard and very frustrating; and I think
this indeed would be a suitable topic for KS.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.d
301 - 400 of 1031 matches
Mail list logo