Hi Jack,
[auto build test WARNING on linus/master]
[also build test WARNING on v4.11-rc3 next-20170324]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system]
url:
https://github.com/0day-ci/linux/commits/Jack-Wang/INFINIBAND-NETWORK-BLOCK-DEVICE
On 03/24/2017 07:03 PM, Eric Biggers wrote:
> From: Eric Biggers
>
> blk_integrity_profile's are never modified, so mark them 'const' so that
> they are placed in .rodata and benefit from memory protection.
Thanks, that's a nice change. Applied for 4.12.
--
Jens Axboe
From: Eric Biggers
blk_integrity_profile's are never modified, so mark them 'const' so that
they are placed in .rodata and benefit from memory protection.
Signed-off-by: Eric Biggers
---
block/blk-integrity.c | 2 +-
block/t10-pi.c | 8
blkg_conf_prep() currently calls blkg_lookup_create() while holding
request queue spinlock. This means allocating memory for struct
blkcg_gq has to be made non-blocking. This causes occasional -ENOMEM
failures in call paths like below:
pcpu_alloc+0x68f/0x710
__alloc_percpu_gfp+0xd/0x10
On 03/24/2017 03:39 PM, Eric Biggers wrote:
> On Mon, Jan 23, 2017 at 11:41:39AM -0800, Eric Biggers wrote:
>> From: Eric Biggers
>>
>> BLKDEV_IFL_* flags no longer exist; blkdev_issue_discard() now actually
>> takes BLKDEV_DISCARD_* flags.
>>
>> Signed-off-by: Eric Biggers
On Mon, Jan 23, 2017 at 11:41:39AM -0800, Eric Biggers wrote:
> From: Eric Biggers
>
> BLKDEV_IFL_* flags no longer exist; blkdev_issue_discard() now actually
> takes BLKDEV_DISCARD_* flags.
>
> Signed-off-by: Eric Biggers
> ---
> block/blk-lib.c | 2
On 03/24/2017 12:08 PM, Josef Bacik wrote:
> These 4 patches are to fix up various regressions and problems in NBD. The
> ERESTARTSYS is the biggest patch but has been pretty well tested with a debug
> patch that forced the behavior to happen. Everything else is relatively
> small,
> and the
On Sat, 2017-03-25 at 01:38 +0800, Ming Lei wrote:
> As I explained, the dying flag should only be mentioned after we change
> the code in blk_set_queue_dying().
Hello Ming,
If patches 2 and 4 would be combined into a single patch then it wouldn't
be necessary anymore to update the comment
On Fri, 2017-03-24 at 11:39 -0600, Jens Axboe wrote:
> Currently we return true in blk_mq_dispatch_rq_list() if we queued IO
> successfully, but we really want to return whether or not the we made
> progress. Progress includes if we got an error return. If we don't,
> this can lead to a hang in
On 03/24/2017 11:55 AM, Shaohua Li wrote:
> commit c18a1e0(block: introduce bio_clone_bioset_partial()) introduced
> bio_clone_bioset_partial() for raid1 write behind IO. Now the write behind is
> rewritten by Ming. We don't need the API any more, so revert the commit.
>
> Jens,
> this depends on
From: Josef Bacik
We've been relying on the block layer to assume rq->errors being set
translates into -EIO. I noticed in testing that sometimes this isn't
true, and really there's not much of a reason to have a counter instead
of just using -EIO. So set it properly so we don't
From: Ratna Manoj Bolla
When a filesystem is mounted on a nbd device and on a disconnect, because
of kill_bdev(), and resetting bdev size to zero, buffer_head mappings are
getting destroyed under mounted filesystem.
After a bdev size reset(i.e bdev->bd_inode->i_size = 0) on
On Fri, Mar 24, 2017 at 11:39:10AM -0600, Jens Axboe wrote:
> Currently we return true in blk_mq_dispatch_rq_list() if we queued IO
> successfully, but we really want to return whether or not the we made
> progress. Progress includes if we got an error return. If we don't,
> this can lead to a
> On Mar 24, 2017, at 1:39 PM, Jens Axboe wrote:
>
> Currently we return true in blk_mq_dispatch_rq_list() if we queued IO
> successfully, but we really want to return whether or not the we made
> progress. Progress includes if we got an error return. If we don't,
> this can
commit c18a1e0(block: introduce bio_clone_bioset_partial()) introduced
bio_clone_bioset_partial() for raid1 write behind IO. Now the write behind is
rewritten by Ming. We don't need the API any more, so revert the commit.
Jens,
this depends on Ming's patches, so it would be great I put this to md
On Sat, Mar 25, 2017 at 1:29 AM, Bart Van Assche
wrote:
> On Fri, 2017-03-24 at 20:36 +0800, Ming Lei wrote:
>> As the .q_usage_counter is used by both legacy and
>> mq path, we need to block new I/O if queue becomes
>> dead in blk_queue_enter().
>>
>> So rename it and
On Fri, 2017-03-24 at 20:36 +0800, Ming Lei wrote:
> + /* block new I/O coming */
> + blk_freeze_queue_start(q);
As I have already mentioned two times, the comment above
blk_freeze_queue_start() should be made more clear. It should mention that
without that call blk_queue_enter() won't
Currently we return true in blk_mq_dispatch_rq_list() if we queued IO
successfully, but we really want to return whether or not the we made
progress. Progress includes if we got an error return. If we don't,
this can lead to a hang in blk_mq_sched_dispatch_requests() when a
driver is draining IO
On Sat, Mar 25, 2017 at 1:24 AM, Bart Van Assche
wrote:
> On Fri, 2017-03-24 at 20:36 +0800, Ming Lei wrote:
>> Without the barrier, reading DEAD flag of .q_usage_counter
>> and reading .mq_freeze_depth may be reordered, then the
>> following wait_event_interruptible()
On Fri, 2017-03-24 at 20:36 +0800, Ming Lei wrote:
> Without the barrier, reading DEAD flag of .q_usage_counter
> and reading .mq_freeze_depth may be reordered, then the
> following wait_event_interruptible() may never return.
>
> Signed-off-by: Ming Lei
> ---
>
On Fri, Mar 24, 2017 at 04:57:37PM +1100, Neil Brown wrote:
> On Fri, Mar 17 2017, Ming Lei wrote:
>
> > Both raid1 and raid10 share common resync
> > block size and page count, so move them into md.h.
>
> I don't think this is necessary.
> These are just "magic" numbers. They don't have any
On 03/16/2017 10:12 AM, Ming Lei wrote:
> Turns out we can use bio_copy_data in raid1's write behind,
> and we can make alloc_behind_pages() more clean/efficient,
> but we need to partial version of bio_copy_data().
>
> Signed-off-by: Ming Lei
Reviewed-by: Jens Axboe
On 03/24/2017 01:36 PM, Ming Lei wrote:
> Without the barrier, reading DEAD flag of .q_usage_counter
> and reading .mq_freeze_depth may be reordered, then the
> following wait_event_interruptible() may never return.
>
> Signed-off-by: Ming Lei
> ---
> block/blk-core.c | 8
On 03/24/2017 01:36 PM, Ming Lei wrote:
> As the .q_usage_counter is used by both legacy and
> mq path, we need to block new I/O if queue becomes
> dead in blk_queue_enter().
>
> So rename it and we can use this function in both
> pathes.
>
> Signed-off-by: Ming Lei
> ---
On Fri, Mar 24, 2017 at 3:31 PM, Johannes Thumshirn wrote:
> On Fri, Mar 24, 2017 at 01:54:04PM +0100, Jinpu Wang wrote:
>> >> +
>> >> +#define XX(a) case (a): return #a
>> >
>> > please no macros with retun in them and XX isn't quite too descriptive as
>> > well.
>> >
>> >
On Fri, Mar 24, 2017 at 01:54:04PM +0100, Jinpu Wang wrote:
> >> +
> >> +#define XX(a) case (a): return #a
> >
> > please no macros with retun in them and XX isn't quite too descriptive as
> > well.
> >
> > [...]
> >
> >> +static inline const char *ib_wc_opcode_str(enum ib_wc_opcode opcode)
> >>
On Fri, Mar 24, 2017 at 2:31 PM, Bart Van Assche
wrote:
> On Fri, 2017-03-24 at 13:46 +0100, Jinpu Wang wrote:
>> Our IBNBD project was started 3 years ago based on our need for Cloud
>> Computing, NVMeOF is a bit younger.
>> - IBNBD is one of our components, part of
Hi Linus,
A few fixes for the current series that should go into -rc4. This pull
request contains:
- A fix for a potential corruption of un-started requests from Ming.
- A blk-stat fix from Omar, ensuring we flush the stat batch before
checking nr_samples.
- A set of fixes from Sagi for the
>
> From: Jack Wang
>
> This series introduces IBNBD/IBTRS kernel modules.
>
> IBNBD (InfiniBand network block device) allows for an RDMA transfer of block
IO
> over InfiniBand network. The driver presents itself as a block device on
client
> side and transmits the
On Fri, 2017-03-24 at 13:46 +0100, Jinpu Wang wrote:
> Our IBNBD project was started 3 years ago based on our need for Cloud
> Computing, NVMeOF is a bit younger.
> - IBNBD is one of our components, part of our software defined storage
> solution.
> - As I listed in features, IBNBD has it's own
>> +
>> +#define XX(a) case (a): return #a
>
> please no macros with retun in them and XX isn't quite too descriptive as
> well.
>
> [...]
>
>> +static inline const char *ib_wc_opcode_str(enum ib_wc_opcode opcode)
>> +{
>> + switch (opcode) {
>> + XX(IB_WC_SEND);
>> +
On Fri, Mar 24, 2017 at 01:46:02PM +0100, Jinpu Wang wrote:
> Hi Johnnes,
>
> Our IBNBD project was started 3 years ago based on our need for Cloud
> Computing, NVMeOF is a bit younger.
> - IBNBD is one of our components, part of our software defined storage
> solution.
> - As I listed in
On Fri, Mar 24, 2017 at 1:15 PM, Johannes Thumshirn wrote:
> On Fri, Mar 24, 2017 at 11:45:15AM +0100, Jack Wang wrote:
>> From: Jack Wang
>>
>> This series introduces IBNBD/IBTRS kernel modules.
>>
>> IBNBD (InfiniBand network block device)
As the .q_usage_counter is used by both legacy and
mq path, we need to block new I/O if queue becomes
dead in blk_queue_enter().
So rename it and we can use this function in both
pathes.
Signed-off-by: Ming Lei
---
block/blk-core.c | 2 +-
Without the barrier, reading DEAD flag of .q_usage_counter
and reading .mq_freeze_depth may be reordered, then the
following wait_event_interruptible() may never return.
Signed-off-by: Ming Lei
---
block/blk-core.c | 8
1 file changed, 8 insertions(+)
diff --git
Before commit 780db2071a(blk-mq: decouble blk-mq freezing
from generic bypassing), the dying flag is checked before
entering queue, and Tejun converts the checking into .mq_freeze_depth,
and assumes the counter is increased just after dying flag
is set. Unfortunately we doesn't do that in
This patch adds comment on two races related with
timeout handler:
- requeue from queue busy vs. timeout
- rq free & reallocation vs. timeout
Both the races themselves and current solution aren't
explicit enough, so add comments on them.
Cc: Bart Van Assche
Hi,
The 1st patch add comments on blk-mq races with timeout handler.
The other 3 patches improves handling for dying queue:
- the 2nd one adds one barrier in blk_queue_enter() for
avoiding hanging caused by out-of-order
- the 3rd and 4th patches block new I/O entering
On Fri, Mar 24, 2017 at 11:45:16AM +0100, Jack Wang wrote:
> From: Jack Wang
>
> Signed-off-by: Jack Wang
> Signed-off-by: Kleber Souza
> Signed-off-by: Danil Kipnis
>
On Fri, Mar 24, 2017 at 11:45:15AM +0100, Jack Wang wrote:
> From: Jack Wang
>
> This series introduces IBNBD/IBTRS kernel modules.
>
> IBNBD (InfiniBand network block device) allows for an RDMA transfer of block
> IO
> over InfiniBand network. The driver presents
On 03/16/2017 09:33 AM, Jens Axboe wrote:
> On 03/15/2017 03:51 PM, Goldwyn Rodrigues wrote:
>> diff --git a/block/blk-core.c b/block/blk-core.c
>> index 0eeb99e..2e5cba2 100644
>> --- a/block/blk-core.c
>> +++ b/block/blk-core.c
>> @@ -2014,7 +2019,7 @@ blk_qc_t generic_make_request(struct bio
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
---
drivers/block/Kconfig | 2 ++
drivers/block/Makefile | 1 +
drivers/block/ibnbd_client/Kconfig | 16
drivers/block/ibnbd_client/Makefile | 5
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
---
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/ulp/Makefile | 1 +
drivers/infiniband/ulp/ibtrs_server/Kconfig | 8
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
---
Documentation/IBNBD.txt | 284
1 file changed, 284 insertions(+)
create mode 100644 Documentation/IBNBD.txt
diff --git
From: Jack Wang
Signed-off-by: Jack Wang
---
MAINTAINERS | 14 ++
1 file changed, 14 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index c776906..12a528a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6263,6 +6263,20
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
---
drivers/block/Kconfig | 1 +
drivers/block/Makefile | 1 +
drivers/block/ibnbd_server/Kconfig | 16
drivers/block/ibnbd_server/Makefile | 3 +++
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
---
drivers/block/ibnbd_server/ibnbd_srv_log.h | 69
From: Jack Wang
Process incoming IO from ibtrs server, and hands them down to
underlying block device.
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Service accept connection requests from clients and reserve memory
for them.
It excutes rdma transfers, hands over received data to ibnbd_server.
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
From: Jack Wang
Signed-off-by: Jack Wang
---
drivers/infiniband/Kconfig | 2 ++
drivers/infiniband/ulp/Makefile | 1 +
drivers/infiniband/ulp/ibtrs_client/Kconfig | 8
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
These files define functions used by both client and server, eg
validate protocol message, heartbeat helpers, etc.
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil
From: Jack Wang
User module eg ibnbd_client will use this interface to transfer
data later.
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
Signed-off-by: Jack Wang
Signed-off-by: Kleber Souza
Signed-off-by: Danil Kipnis
Signed-off-by: Roman Pen
---
From: Jack Wang
This series introduces IBNBD/IBTRS kernel modules.
IBNBD (InfiniBand network block device) allows for an RDMA transfer of block IO
over InfiniBand network. The driver presents itself as a block device on client
side and transmits the block requests
On Fri, Mar 24, 2017 at 8:07 AM, NeilBrown wrote:
>
> Currently only dm and md/raid5 bios trigger
> trace_block_bio_complete(). Now that we have bio_chain() and
> bio_inc_remaining(), it is not possible, in general, for a driver to
> know when the bio is really complete. Only
On Fri, Mar 24, 2017 at 1:57 PM, NeilBrown wrote:
> On Fri, Mar 17 2017, Ming Lei wrote:
>
>> Both raid1 and raid10 share common resync
>> block size and page count, so move them into md.h.
>
> I don't think this is necessary.
> These are just "magic" numbers. They don't have any
On Fri, Mar 17 2017, Ming Lei wrote:
> Now resync I/O use bio's bec table to manage pages,
> this way is very hacky, and may not work any more
> once multipage bvec is introduced.
>
> So introduce helpers and new data structure for
> managing resync I/O pages more cleanly.
>
> Signed-off-by: Ming
71 matches
Mail list logo