On Fri 20-01-17 07:42:09, Dan Williams wrote:
> On Fri, Jan 20, 2017 at 1:47 AM, Jan Kara wrote:
> > On Thu 19-01-17 14:17:19, Vishal Verma wrote:
> >> On 01/18, Jan Kara wrote:
> >> > On Tue 17-01-17 15:37:05, Vishal Verma wrote:
> >> > 2) PMEM is exposed for DAX aware filesystem.
On 01/23/2017 04:29 PM, Christoph Hellwig wrote:
> Return an errno value instead of the passed in queue so that the callers
> don't have to keep track of two queues, and move the assignment of the
> request_fn and lock to the caller as passing them as argument doesn't
> simplify anything. While
On 01/23/2017 04:29 PM, Christoph Hellwig wrote:
> We can't initalize the elevator fields for flushes as flush share space
> in struct request with the elevator data. But currently we can't
> commnicate that a request is a flush through blk_get_request as we
> can only pass READ or WRITE, and the
From: Omar Sandoval
In elevator_switch(), we free the old scheduler's tags and then
initialize the new scheduler. If initializing the new scheduler fails,
we fall back to the old scheduler, but our tags have already been freed.
There's no reason to free the sched_tags only to
Hello Dan,
Am Freitag, 6. Januar 2017, 17:02:51 BRST schrieb Dan Williams:
> v1 of these changes [1] was a one line change to bdev_get_queue() to
> prevent a shutdown crash when del_gendisk() races the final
> __blkdev_put().
>
> While it is known at del_gendisk() time that the queue is still
From: Eric Biggers
blkdev_issue_flush() is now always synchronous, and it no longer has a
flags argument. So remove the part of the comment about the WAIT flag.
Signed-off-by: Eric Biggers
---
block/blk-flush.c | 3 +--
1 file changed, 1
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 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
From: Omar Sandoval
hctx->state could come in handy for bugs where the hardware queue gets
stuck in the stopped state, and hctx->flags is just useful to know.
Signed-off-by: Omar Sandoval
---
block/blk-mq-debugfs.c | 42
From: Omar Sandoval
These are very tied to the blk-mq tag implementation, so exposing them
to sysfs isn't a great idea. Move the debugging information to debugfs
and add basic entries for the number of tags and the number of reserved
tags to sysfs.
Signed-off-by: Omar Sandoval
From: Omar Sandoval
These statistics _might_ be useful to userspace, but it's better not to
commit to an ABI for these yet. Also, the dispatched file in sysfs
couldn't be cleared, so make it clearable like the others in debugfs.
Signed-off-by: Omar Sandoval
---
From: Omar Sandoval
These counters aren't as out-of-place in sysfs as the other stuff, but
debugfs is a slightly better home for them.
Signed-off-by: Omar Sandoval
---
block/blk-mq-debugfs.c | 181 +
From: Omar Sandoval
The request pointers by themselves aren't super useful.
Signed-off-by: Omar Sandoval
---
block/blk-mq-debugfs.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/block/blk-mq-debugfs.c b/block/blk-mq-debugfs.c
index
From: Omar Sandoval
This is useful for debugging problems where we've gotten stuck with
requests in the software queues.
Signed-off-by: Omar Sandoval
---
block/blk-mq-debugfs.c | 15 +++
1 file changed, 15 insertions(+)
diff --git
From: Omar Sandoval
These can be used to debug issues like tag leaks and stuck requests.
Signed-off-by: Omar Sandoval
---
block/blk-mq-debugfs.c | 50 ++
1 file changed, 50 insertions(+)
diff --git
From: Omar Sandoval
This is useful debugging information that will be used in the blk-mq
debugfs directory.
Signed-off-by: Omar Sandoval
---
include/linux/sbitmap.h | 34
lib/sbitmap.c | 83
From: Omar Sandoval
These lists are only useful for debugging; they definitely don't belong
in sysfs. Putting them in debugfs also removes the limitation of a
single page of output.
Signed-off-by: Omar Sandoval
---
block/blk-mq-debugfs.c | 106
From: Omar Sandoval
This series ends our abuse of sysfs and puts all of the debugging information
in debugfs instead. This has a few benefits:
1. Removes the possibility of userspace being stupid and relying on something
in sysfs that we only exposed for debugging.
2. Lifts
From: Omar Sandoval
In preparation for putting blk-mq debugging information in debugfs,
create a directory tree mirroring the one in sysfs:
# tree -d /sys/kernel/debug/block
/sys/kernel/debug/block
|-- nvme0n1
| `-- mq
| |-- 0
| | `-- cpu0
Looks fine except for the nitpick pointed out by Sagi:
Reviewed-by: Christoph Hellwig
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Looks fine,
Reviewed-by: Christoph Hellwig
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Jan 04, 2017 at 05:41:06PM -0500, Keith Busch wrote:
> This patch makes sure all online CPUs are assigned to vectors in
> cases where the nodes don't have the same number of online CPUs.
> The calculation for how many vectors needs to be assigned should account
> for the number of CPUs for
On 01/23/2017 09:17 AM, Alexander Potapenko wrote:
> On Mon, Jan 23, 2017 at 5:03 PM, Andrey Ryabinin
> wrote:
>> 2017-01-23 17:06 GMT+03:00 Alexander Potapenko :
>>> KMSAN (KernelMemorySanitizer, a new error detection tool) reports use of
>>>
On 01/23/2017 10:04 AM, Paolo Valente wrote:
>
>> Il giorno 18 gen 2017, alle ore 17:21, Jens Axboe ha scritto:
>>
>> On 01/18/2017 08:14 AM, Paolo Valente wrote:
>>> according to the function blk_mq_sched_put_request, the
>>> mq.completed_request hook seems to always be invoked
On Mon, Jan 23, 2017 at 05:07:52PM +0100, Matias Bjørling wrote:
> Hi,
>
> I could use some help verifying an use-after-free bug that I am seeing
> after the new direct I/O work went in.
>
> When issuing a direct write io using libaio, a bio is referenced in the
> blkdev_direct_IO path, and then
> Il giorno 18 gen 2017, alle ore 17:21, Jens Axboe ha scritto:
>
> On 01/18/2017 08:14 AM, Paolo Valente wrote:
>> according to the function blk_mq_sched_put_request, the
>> mq.completed_request hook seems to always be invoked (if set) for a
>> request for which the
On Mon, Jan 23, 2017 at 5:03 PM, Andrey Ryabinin wrote:
> 2017-01-23 17:06 GMT+03:00 Alexander Potapenko :
>> KMSAN (KernelMemorySanitizer, a new error detection tool) reports use of
>> uninitialized memory in cfq_init_cfqq():
>>
>>
Hi,
I could use some help verifying an use-after-free bug that I am seeing
after the new direct I/O work went in.
When issuing a direct write io using libaio, a bio is referenced in the
blkdev_direct_IO path, and then put again in the blkdev_bio_end_io path.
However, there is a case where the
2017-01-23 17:06 GMT+03:00 Alexander Potapenko :
> KMSAN (KernelMemorySanitizer, a new error detection tool) reports use of
> uninitialized memory in cfq_init_cfqq():
>
> ==
> BUG: KMSAN: use of unitialized memory
>
On Mon, Jan 23, 2017 at 10:03 AM, Greg KH
wrote:
On Mon, Jan 23, 2017 at 09:57:52AM -0500, Josef Bacik wrote:
On Mon, Jan 23, 2017 at 9:52 AM, Greg KH
wrote:
> On Mon, Jan 23, 2017 at 09:42:08AM -0500, Josef Bacik wrote:
> >
> >
>
On 01/23/2017 08:49 AM, Alexander Potapenko wrote:
> On Mon, Jan 23, 2017 at 4:30 PM, Jens Axboe wrote:
>> On 01/23/2017 07:06 AM, Alexander Potapenko wrote:
>>> KMSAN (KernelMemorySanitizer, a new error detection tool) reports use of
>>> uninitialized memory in cfq_init_cfqq():
>>>
On Mon, Jan 23, 2017 at 4:30 PM, Jens Axboe wrote:
> On 01/23/2017 07:06 AM, Alexander Potapenko wrote:
>> KMSAN (KernelMemorySanitizer, a new error detection tool) reports use of
>> uninitialized memory in cfq_init_cfqq():
>>
>>
On Mon, Jan 23, 2017 at 08:39:44AM -0700, Jens Axboe wrote:
> I'd like to get this in sooner rather than later, so I'll spend some
> time reviewing and testing it start this week. I'm assuming you are
> targeting 4.11 with this change, right?
Yes.
--
To unsubscribe from this list: send the line
On 01/23/2017 08:29 AM, Christoph Hellwig wrote:
> Hi all,
>
> this series splits the support for SCSI passthrough commands from the
> main struct request used all over the block layer into a separate
> scsi_request structure that drivers that want to support SCSI passthough
> need to embedded as
Instead do an internal export of __scsi_init_queue for the transport
classes that export BSG nodes.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/scsi_lib.c | 19 ---
drivers/scsi/scsi_transport_fc.c| 6 --
From: Hannes Reinecke
Switch to scsi_execute_req_flags() instead of using the block interface
directly. This will set REQ_QUIET and REQ_PREEMPT, but this is okay as
we're evaluating the errors anyway and should be able to send the command
even if the device is quiesced.
These days we have the proper flags set since request allocation time.
Signed-off-by: Christoph Hellwig
---
block/blk-core.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/block/blk-core.c b/block/blk-core.c
index fe5cc98..93a9e0b 100644
--- a/block/blk-core.c
+++
We can't initalize the elevator fields for flushes as flush share space
in struct request with the elevator data. But currently we can't
commnicate that a request is a flush through blk_get_request as we
can only pass READ or WRITE, and the low-level code looks at the
possible NULL bio to check
On 01/23/2017 07:06 AM, Alexander Potapenko wrote:
> KMSAN (KernelMemorySanitizer, a new error detection tool) reports use of
> uninitialized memory in cfq_init_cfqq():
>
> ==
> BUG: KMSAN: use of unitialized memory
> ...
> Call
Simply the boilerplate code needed for bsg nodes a bit.
Signed-off-by: Christoph Hellwig
Reviewed-by: Johannes Thumshirn
---
block/bsg-lib.c | 21 +++--
drivers/scsi/scsi_transport_fc.c| 36
There is no need for GFP_DMA allocations of the scsi_cmnd structures
themselves, all that might be DMAed to or from is the actual payload,
or the sense buffers.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/scsi.c | 15 +--
1 file changed, 1 insertion(+), 14
Rely on the new block layer functionality to allocate additional driver
specific data behind struct request instead of implementing it in SCSI
itѕelf.
Signed-off-by: Christoph Hellwig
---
drivers/scsi/hosts.c | 20 +--
drivers/scsi/scsi.c | 319
And require all drivers that want to support BLOCK_PC to allocate it
as the first thing of their private data. To support this the legacy
IDE and BSG code is switched to set cmd_size on their queues to let
the block layer allocate the additional space.
Signed-off-by: Christoph Hellwig
DM tries to copy a few fields around for BLOCK_PC requests, but given
that no dm-target ever wires up scsi_cmd_ioctl BLOCK_PC can't actually
be sent to dm.
Signed-off-by: Christoph Hellwig
---
drivers/md/dm-rq.c | 16
1 file changed, 16 deletions(-)
diff --git
From: Hannes Reinecke
Switch to scsi_execute_req_flags() and scsi_get_vpd_page() instead of
open-coding it. Using scsi_execute_req_flags() will set REQ_QUIET and
REQ_PREEMPT, but this is okay as we're evaluating the errors anyway and
should be able to send the command even if the
When using the slab allocator we already decide at cache creation time if
an allocation comes from a GFP_DMA pool using the SLAB_CACHE_DMA flag,
and there is no point passing the kmalloc-family only GFP_DMA flag to
kmem_cache_alloc. Drop all the infrastructure for doing so.
Signed-off-by:
DM already calls blk_mq_alloc_request on the request_queue of the
underlying device if it is a blk-mq device. But now that we allow drivers
to allocate additional data and initialize it ahead of time we need to do
the same for all drivers. Doing so and using the new cmd_size
infrastructure in
From: Hannes Reinecke
Switch to scsi_execute_req_flags() and scsi_get_vpd_page() instead of
open-coding it. Using scsi_execute_req_flags() will set REQ_QUIET and
REQ_PREEMPT, but this is okay as we're evaluating the errors anyway and
should be able to send the command even if the
Hi all,
this series splits the support for SCSI passthrough commands from the
main struct request used all over the block layer into a separate
scsi_request structure that drivers that want to support SCSI passthough
need to embedded as the first thing into their request-private data,
similar to
Return an errno value instead of the passed in queue so that the callers
don't have to keep track of two queues, and move the assignment of the
request_fn and lock to the caller as passing them as argument doesn't
simplify anything. While we're at it also remove two pointless NULL
assignments,
On 01/23/2017 05:06 AM, SF Markus Elfring wrote:
>>> We have got different preferences for the placement of error code settings.
>> Yes we do, so what's the point? Both are OK.
>
> Can a function implementation be executed a bit faster in the case
> that error codes will usually only matter if
On 01/23/2017 02:20 AM, Johannes Thumshirn wrote:
> On Sun, Jan 22, 2017 at 09:33:08AM +0100, SF Markus Elfring wrote:
>> From: Markus Elfring
>> Date: Sat, 21 Jan 2017 22:15:33 +0100
>>
>> The script "checkpatch.pl" pointed information out like the following.
>>
>>
On Mon, Jan 23, 2017 at 09:57:52AM -0500, Josef Bacik wrote:
> On Mon, Jan 23, 2017 at 9:52 AM, Greg KH wrote:
> > On Mon, Jan 23, 2017 at 09:42:08AM -0500, Josef Bacik wrote:
> > >
> > >
> > > On Sat, Jan 21, 2017 at 4:05 AM, Greg KH
> > >
On 01/23/2017 07:07 AM, Hannes Reinecke wrote:
> Hi Jens,
>
> while hunting yet another queue stall I've been looking at
> __blk_mq_tag_busy():
>
> bool __blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx)
> {
> if (!test_bit(BLK_MQ_S_TAG_ACTIVE, >state) &&
>
On Mon, Jan 23, 2017 at 9:52 AM, Greg KH
wrote:
On Mon, Jan 23, 2017 at 09:42:08AM -0500, Josef Bacik wrote:
On Sat, Jan 21, 2017 at 4:05 AM, Greg KH
wrote:
> On Fri, Jan 20, 2017 at 04:56:52PM -0500, Josef Bacik wrote:
> > This
On Mon, Jan 23, 2017 at 09:42:08AM -0500, Josef Bacik wrote:
>
>
> On Sat, Jan 21, 2017 at 4:05 AM, Greg KH wrote:
> > On Fri, Jan 20, 2017 at 04:56:52PM -0500, Josef Bacik wrote:
> > > This patch mirrors the loop back device behavior with a few
> > > changes.
Good Day Dear,
My name is Ms. Joyes Dadi, I am glad you are reading this letter and I hope
we will start our communication and I know that this message will look strange,
surprising and probably unbelievable to you, but it is the reality. I want to
make a donation of money to you.
I contact you
Going from target specific ppa addresses to device was accomplished by
first converting target to generic ppa addresses and generic to device
addresses. The conversion was either open-coded or used the built-in
nvm_trans_* and nvm_map_* functions for conversion. Simplify the
interface and cleanup
The only check there was done was a debugging check. Remove it and
replace the return value with void to reduce error checking.
Signed-off-by: Matias Bjørling
---
drivers/lightnvm/core.c | 41 +
1 file changed, 9 insertions(+), 32
The nvm_submit_ppa* functions are no longer needed after gennvm and core
have been merged.
Signed-off-by: Matias Bjørling
---
drivers/lightnvm/core.c | 109 ---
include/linux/lightnvm.h | 4 --
2 files changed, 113 deletions(-)
A couple of patches. The first seven patches is cleanup patches, that
cleans up the codebase for when pblk is added to the kernel, and
prepare the code such that a device can be used as a normal block device
(as long as the access rules are respected).
The last patch adds ioctls for vectored
Since the merge of gennvm and core, there is no longer a need for the
device specific bad block functions.
Signed-off-by: Matias Bjørling
---
drivers/lightnvm/core.c | 40
include/linux/lightnvm.h | 2 --
2 files changed, 4
Enable user-space to issue vector I/O commands through ioctls. To issue
a vector I/O, the ppa list with addresses is also required and must be
mapped for the controller to access.
For each ioctl, the result and status bits are returned as well, such
that user-space can retrieve the open-channel
On Mon, Jan 23, 2017 at 11:00:15AM +0100, SF Markus Elfring wrote:
> >> @@ -1327,27 +1327,30 @@ static ssize_t tg_set_max(struct kernfs_open_file
> >> *of,
> >>break;
> >>ctx.body += len;
> >>
> >> - ret = -EINVAL;
> >>p = tok;
> >>
On Sun, Jan 22, 2017 at 09:33:08AM +0100, SF Markus Elfring wrote:
> From: Markus Elfring
> Date: Sat, 21 Jan 2017 22:15:33 +0100
>
> The script "checkpatch.pl" pointed information out like the following.
>
> ERROR: do not use assignment in if condition
>
> Thus
On Sun, Jan 22, 2017 at 09:31:29AM +0100, SF Markus Elfring wrote:
> From: Markus Elfring
> Date: Sat, 21 Jan 2017 21:23:06 +0100
>
> A local variable was set to an error code before a concrete error situation
> was detected. Thus move the corresponding assignments
65 matches
Mail list logo