Currently it's used by the lighnvm passthrough ioctl, but we'd like to make
it private in preparation of block layer specific error code. Lighnvm already
returns the real NVMe status anyway, so I think we can just limit it to
returning -EIO for any status set.
This will need a careful audit from
On Mon, 17 Apr 2017 12:09:32 -0700
Dan Williams wrote:
> Setup a dax_dev to have the same lifetime as the dcssblk block device
> and add a ->direct_access() method that is equivalent to
> dcssblk_direct_access(). Once fs/dax.c has been converted to use
> dax_operations the old dcssblk_direct_acce
Dear Somu,
thanks for your quick response!
I applied your patch to the 4.4 kernel of a Ubuntu 16.04.2 VM and can
now confirm that the dm-era metadata survived every subsequent reboot so
far. Thank you!
Best regards,
Markus Hentsch
Cloud&Heat Technologies
On Apr 19, 2017 at 18:18 Somasundaram
This passes on the scsi_cmnd result field to users of passthrough
requests. Currently we abuse req->errors for this purpose, but that
field will go away in its current form.
Note that the old IDE code abuses the errors field in very creative
ways and stores all kinds of different values in it. I
Signed-off-by: Christoph Hellwig
---
drivers/block/null_blk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/block/null_blk.c b/drivers/block/null_blk.c
index e79e3d24e229..0ca4aa34edb9 100644
--- a/drivers/block/null_blk.c
+++ b/drivers/block/null_blk.c
@@ -281,7 +28
Signed-off-by: Christoph Hellwig
---
include/trace/events/block.h | 44 ++--
kernel/trace/blktrace.c | 9 -
2 files changed, 10 insertions(+), 43 deletions(-)
diff --git a/include/trace/events/block.h b/include/trace/events/block.h
index a88e
Signed-off-by: Christoph Hellwig
---
drivers/block/ataflop.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/block/ataflop.c b/drivers/block/ataflop.c
index 2104b1b4ccda..fa69ecd52cb5 100644
--- a/drivers/block/ataflop.c
+++ b/drivers/block/ataflop.c
@@ -6
Now that all drivers that call blk_mq_complete_requests have a
->complete callback we can remove the direct call to blk_mq_end_request,
as well as the error argument to blk_mq_complete_request.
Signed-off-by: Christoph Hellwig
---
block/blk-mq.c| 15 +++
drivers/b
xen-blkfron is the last users using rq->errros for passing back error to
blk-mq, and I'd like to get rid of that. In the longer run the driver
should be moving more of the completion processing into .complete, but
this is the minimal change to move forward for now.
Signed-off-by: Christoph Hellwi
Signed-off-by: Christoph Hellwig
---
drivers/block/swim3.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c
index 61b3ffa4f458..ba4809c9bdba 100644
--- a/drivers/block/swim3.c
+++ b/drivers/block/swim3.c
@@ -343,8 +343,8 @@ stat
Signed-off-by: Christoph Hellwig
---
drivers/block/floppy.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index ce102ec47ef2..60d4c7653178 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -2805,8 +2805,
This is for the legacy floppy and ataflop drivers that currently abuse
->errors for this purpose. It's stashed away in a union to not grow
the struct size, the other fields are either used by modern drivers
for different purposes or the I/O scheduler before queing the I/O
to drivers.
Signed-off-b
Currently the request structure has an errors field that is used in
various different ways. The oldest drivers use it as an error count,
blk-mq and the generic timeout code assume that it holds a Linux
errno for block completions, and various drivers use it for internal
status values, often overwr
Merge blk_mq_ipi_complete_request and blk_mq_stat_add into their only
caller.
Signed-off-by: Christoph Hellwig
---
block/blk-mq.c | 25 -
1 file changed, 8 insertions(+), 17 deletions(-)
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 3a2d179d49d6..3a21948c867a 100644
Instead of using req->errors, which will go away.
Signed-off-by: Christoph Hellwig
---
drivers/block/mtip32xx/mtip32xx.c | 16 +---
drivers/block/mtip32xx/mtip32xx.h | 1 +
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/drivers/block/mtip32xx/mtip32xx.c
b/drivers/b
Add a nbd-specific field instead.
Signed-off-by: Christoph Hellwig
Reviewed-by: Josef Bacik
---
drivers/block/nbd.c | 30 +++---
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 6e592c2ba8fd..09a74a66beb1 100
The driver never sets req->errors, so blk_execute_rq will always return 0.
Signed-off-by: Christoph Hellwig
Reviewed-by: Bart Van Assche
---
drivers/block/paride/pd.c | 7 ++-
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/block/paride/pd.c b/drivers/block/paride/pd.c
Signed-off-by: Christoph Hellwig
Reviewed-by: Bart Van Assche
Acked-by: Roger Pau Monné
Reviewed-by: Konrad Rzeszutek Wilk
---
block/blk-core.c | 14 +-
block/blk-exec.c | 3 +--
block/blk-mq.c | 10 +++---
block/blk-timeout.c |
Remove passing req->errors (which at that point is always 0) to
blk_mq_complete_request, and rely on the virtio status code for the
serial number passthrough request.
Signed-off-by: Christoph Hellwig
Reviewed-by: Johannes Thumshirn
---
drivers/block/virtio_blk.c | 10 +++---
1 file changed,
Signed-off-by: Christoph Hellwig
Reviewed-by: Johannes Thumshirn
Reviewed-by: Bart Van Assche
---
drivers/block/virtio_blk.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index eaf99022bdc6..dbc4e80680b1 100644
We'll get all proper errors reported through ->end_io and ->errors will
go away soon.
Signed-off-by: Christoph Hellwig
---
drivers/md/dm-mpath.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index ab55955ed704..2950b145443d 1006
dm never uses rq->errors, so there is no need to pass an error argument
to blk_mq_complete_request.
Signed-off-by: Christoph Hellwig
---
drivers/md/dm-rq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c
index e60f1b6845be..1173be21f6f6
nvme_complete_async_event expects the little endian status code
including the phase bit, and a new completion handler I plan to
introduce will do so as well.
Change the status variable into the little endian format with the
phase bit used in the NVMe CQE to fix / enable this.
Signed-off-by: Chris
In thruth I've just audited which blk-mq drivers don't currently have a
complete callback, but I think this change is at least borderline useful.
Signed-off-by: Christoph Hellwig
Reviewed-by: Ming Lei
---
drivers/block/loop.c | 30 ++
drivers/block/loop.h | 1 +
2 f
We want our own clearly defined error field for NVMe passthrough commands,
and the request errors field is going away in its current form.
Just store the status and result field in the nvme_request field from
hardirq completion context (using a new helper) and then generate a
Linux errno for the b
The function only returns -EIO if rq->errors is non-zero, which is not
very useful and lets a large number of callers ignore the return value.
Just let the callers figure out their error themselves.
Signed-off-by: Christoph Hellwig
Reviewed-by: Johannes Thumshirn
---
block/blk-exec.c
On Thu, Apr 20, 2017 at 04:02:54PM +0200, Christoph Hellwig wrote:
> The driver never sets req->errors, so blk_execute_rq will always return 0.
>
> Signed-off-by: Christoph Hellwig
> Reviewed-by: Bart Van Assche
> ---
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn
On Thu, Apr 20, 2017 at 04:03:04PM +0200, Christoph Hellwig wrote:
> dm never uses rq->errors, so there is no need to pass an error argument
> to blk_mq_complete_request.
>
> Signed-off-by: Christoph Hellwig
> ---
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn
On Thu, Apr 20, 2017 at 04:03:03PM +0200, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig
> ---
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn Storage
jthumsh...@suse.de+49 911 74053 689
SUSE LINUX GmbH,
On Thu, Apr 20, 2017 at 04:03:05PM +0200, Christoph Hellwig wrote:
> We'll get all proper errors reported through ->end_io and ->errors will
> go away soon.
>
> Signed-off-by: Christoph Hellwig
> ---
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn
On Thu, Apr 20, 2017 at 04:03:07PM +0200, Christoph Hellwig wrote:
> Instead of using req->errors, which will go away.
>
> Signed-off-by: Christoph Hellwig
> ---
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn Storage
jthumsh...@suse.de
On Thu, Apr 20, 2017 at 04:03:09PM +0200, Christoph Hellwig wrote:
> Now that all drivers that call blk_mq_complete_requests have a
> ->complete callback we can remove the direct call to blk_mq_end_request,
> as well as the error argument to blk_mq_complete_request.
>
> Signed-off-by: Christoph He
On Thu, Apr 20, 2017 at 04:03:15PM +0200, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig
> ---
Just to be sure nothings forgotten, does this change need an update for
blktrace as well?
--
Johannes Thumshirn Storage
jthumsh...@suse.de
On Thu, Apr 20, 2017 at 05:20:56PM +0200, Johannes Thumshirn wrote:
> On Thu, Apr 20, 2017 at 04:03:15PM +0200, Christoph Hellwig wrote:
> > Signed-off-by: Christoph Hellwig
> > ---
>
> Just to be sure nothings forgotten, does this change need an update for
> blktrace as well?
I don't think so.
On Thu, 2017-04-20 at 16:03 +0200, Christoph Hellwig wrote:
> This passes on the scsi_cmnd result field to users of passthrough
> requests. Currently we abuse req->errors for this purpose, but that
> field will go away in its current form.
>
> Note that the old IDE code abuses the errors field in
On Thu, Apr 20, 2017 at 04:03:14PM +0200, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig
> ---
Easy enough,
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn Storage
jthumsh...@suse.de+49 911 74053 689
SUS
On Thu, 2017-04-20 at 16:02 +0200, Christoph Hellwig wrote:
> The function only returns -EIO if rq->errors is non-zero, which is not
> very useful and lets a large number of callers ignore the return value.
>
> Just let the callers figure out their error themselves.
Reviewed-by: Bart Van Assche
On Thu, Apr 20, 2017 at 04:03:16PM +0200, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig
> Reviewed-by: Bart Van Assche
> Acked-by: Roger Pau Monné
> Reviewed-by: Konrad Rzeszutek Wilk
> ---
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn
On Thu, 2017-04-20 at 16:03 +0200, Christoph Hellwig wrote:
> dm never uses rq->errors, so there is no need to pass an error argument
> to blk_mq_complete_request.
Reviewed-by: Bart Van Assche
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
On Thu, 2017-04-20 at 16:03 +0200, Christoph Hellwig wrote:
> Now that all drivers that call blk_mq_complete_requests have a
> ->complete callback we can remove the direct call to blk_mq_end_request,
> as well as the error argument to blk_mq_complete_request.
Reviewed-by: Bart Van Assche
--
dm-d
On Thu, 2017-04-20 at 16:03 +0200, Christoph Hellwig wrote:
> We'll get all proper errors reported through ->end_io and ->errors will
> go away soon.
Reviewed-by: Bart Van Assche
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
On Thu, Apr 20, 2017 at 05:25:58PM +0200, Christoph Hellwig wrote:
> On Thu, Apr 20, 2017 at 05:20:56PM +0200, Johannes Thumshirn wrote:
> > On Thu, Apr 20, 2017 at 04:03:15PM +0200, Christoph Hellwig wrote:
> > > Signed-off-by: Christoph Hellwig
> > > ---
> >
> > Just to be sure nothings forgott
On Mon, Apr 17, 2017 at 12:09 PM, Dan Williams wrote:
> Allocate a dax_device to represent the capacity of a device-mapper
> instance. Provide a ->direct_access() method via the new dax_operations
> indirection that mirrors the functionality of the current direct_access
> support via block_device_
Using pr_ is the more common logging style.
In addition, using the pr_ macros could shrink the kernel image
if/when the macros are converted to functions.
Miscellanea:
o Standardize style and use new macro DM_FMT
o Use no_printk in DMDEBUG macros when CONFIG_DM_DEBUG is not #defined
Signed-off-
On Thu, Apr 20 2017, Johannes Thumshirn wrote:
> On Thu, Apr 20, 2017 at 04:03:15PM +0200, Christoph Hellwig wrote:
> > Signed-off-by: Christoph Hellwig
> > ---
>
> Just to be sure nothings forgotten, does this change need an update for
> blktrace as well?
blktrace doesn't use this event for any
On Thu, Apr 20 2017, Christoph Hellwig wrote:
> Currently the request structure has an errors field that is used in
> various different ways. The oldest drivers use it as an error count,
> blk-mq and the generic timeout code assume that it holds a Linux
> errno for block completions, and various d
From: Damien Le Moal
When setting the dm device queue limits, several possibilities exists
for zoned block devices:
1) The dm target driver may want to expose a different zone model (e.g.
host-managed device emulation or regular block device on top of
host-managed zoned block devices)
2) Expose t
From: Damien Le Moal
The REQ_OP_ZONE_RESET bio has no payload and zero sectors. Its position
is the only information used to indicate the zone to reset on the
device. Due to its zero length, this bio is not cloned and sent to the
target through the non-flush case in __split_and_process_bio().
Add
From: Damien Le Moal
A REQ_OP_ZONE_REPORT bio is not a medium access command. Its number of
sectors indicates the maximum size allowed for the report reply size
and not an amount of sectors accessed from the device.
REQ_OP_ZONE_REPORT bios should thus not be split depending on the
target device m
From: Damien Le Moal
Add support for zoned block devices by allowing host-managed zoned block
device mapped targets, the remapping of REQ_OP_ZONE_RESET and the post
processing (reply remapping) of REQ_OP_ZONE_REPORT.
Signed-off-by: Damien Le Moal
---
drivers/md/dm-linear.c | 14 +-
From: Damien Le Moal
This series introduces zoned block device support to the device mapper
infrastructure. Pathces are as follows:
- Patch 1: Add a new target type feature flag to indicate if a target type
supports host-managed zoned block devices. This prevents using these drives
with the
From: Damien Le Moal
When copyying blocks to host-managed zoned block devices, writes must be
sequential. dm_kcopyd_copy() does not howerver guarantee this as writes
are issued in the completion order of reads, and reads may complete out
of order despite being issued sequentially.
Fix this by in
From: Damien Le Moal
A target driver support zoned block devices and exposing it as such may
receive REQ_OP_ZONE_REPORT request for the user to determine the mapped
device zone configuration. To process properly such request, the target
driver may need to remap the zone descriptors provided in th
See as example https://bugzilla.opensuse.org/show_bug.cgi?id=983221
"non-standard" DM targets do not appear to be autoloaded (the problem
was hit with thin-pool, but it seems to apply to other targets as well).
"Common" targets (like linear) are provided by dm-mod which seems to be
autoloaded by v
Currently it's used by the lighnvm passthrough ioctl, but we'd like to make
it private in preparation of block layer specific error code. Lighnvm already
returns the real NVMe status anyway, so I think we can just limit it to
returning -EIO for any status set.
This will need a careful audit from
On Wed, 19 Apr 2017 15:32:38 -0700
Dan Williams wrote:
> Setup a dax_dev to have the same lifetime as the dcssblk block device
> and add a ->direct_access() method that is equivalent to
> dcssblk_direct_access(). Once fs/dax.c has been converted to use
> dax_operations the old dcssblk_direct_acce
From: Damien Le Moal
The target drivers currently available will not operate correctly if a
table target maps onto a host-managed zoned block device.
To avoid problems, this patch introduces the new feature flag
DM_TARGET_ZONED_HM for a target driver to explicitly state that it
supports host-man
From: Damien Le Moal
With the development of file system support for zoned block devices
(e.g. f2fs), having dm-flakey support for these devices is interesting
to improve testing.
This patch adds support for zoned block devices in dm-flakey, both
host-aware and host-managed. The target type feat
From: Damien Le Moal
If a target maps to a zoned block device, check that the device area is
aligned on zone boundaries to avoid problems with REQ_OP_ZONE_RESET
operations (resetting a partially mapped sequential zone would not be
possible). This also greatly facilitate the processing of zone rep
From: Damien Le Moal
The dm-zoned device mapper target provides transparent write access
to zoned block devices (ZBC and ZAC compliant block devices).
dm-zoned hides to the device user (a file system or an application
doing raw block device accesses) any constraint imposed on write
requests by th
60 matches
Mail list logo