__switch_pg() sets m->current_pg before initializing the pathgroup. If
probe_active_paths() is called and pathgroup has not been fully
initialized, IO to the paths may fail, even though they will be usable
when the pathgroup has finished initializing. Instead, skip sending IO
in this situation and
Delegate to bdev_rw_virt when operating on non-vmalloc memory and use
bio_add_vmalloc_chunk to insulate xfs from the details of adding vmalloc
memory to a bio.
Signed-off-by: Christoph Hellwig
Reviewed-by: Damien Le Moal
Reviewed-by: Darrick J. Wong
---
fs/xfs/xfs_bio_io.c | 30 ---
Convert the __bio_add_page(..., virt_to_page(), ...) pattern to the
bio_add_virt_nofail helper implementing it.
Signed-off-by: Christoph Hellwig
Acked-by: Coly Li
Reviewed-by: Damien Le Moal
Reviewed-by: Johannes Thumshirn
---
drivers/md/bcache/super.c | 3 +--
1 file changed, 1 insertion(+),
Replace the code building a bio from a kernel direct map address and
submitting it synchronously with the bdev_rw_virt helper.
Signed-off-by: Christoph Hellwig
Reviewed-by: Damien Le Moal
Reviewed-by: Johannes Thumshirn
---
fs/hfsplus/wrapper.c | 46 +---
Convert the __bio_add_page(..., virt_to_page(), ...) pattern to the
bio_add_virt_nofail helper implementing it.
Signed-off-by: Christoph Hellwig
Reviewed-by: Damien Le Moal
Reviewed-by: Johannes Thumshirn
---
drivers/md/dm-bufio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --g
Replace the code building a bio from a kernel direct map address and
submitting it synchronously with the bdev_rw_virt helper.
Signed-off-by: Christoph Hellwig
Reviewed-by: Damien Le Moal
Reviewed-by: Johannes Thumshirn
Reviewed-by: Qu Wenruo
---
fs/btrfs/scrub.c | 10 ++
1 file chang
Convert the __bio_add_page(..., virt_to_page(), ...) pattern to the
bio_add_virt_nofail helper implementing it, and do the same for the
similar pattern using bio_add_page for adding the first segment after
a bio allocation as that can't fail either.
Signed-off-by: Christoph Hellwig
Reviewed-by: D
Use the bio_add_virt_nofail and bio_add_vmalloc helpers to abstract
away the details of the memory allocation.
Signed-off-by: Christoph Hellwig
---
fs/xfs/xfs_log.c | 32 ++--
1 file changed, 6 insertions(+), 26 deletions(-)
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs
Split hib_submit_io into a sync and async version. The sync version is
a small wrapper around bdev_rw_virt which implements all the logic to
add a kernel direct mapping range to a bio and synchronously submits it,
while the async version is slightly simplified using the
bio_add_virt_nofail for add
Convert the __bio_add_page(..., virt_to_page(), ...) pattern to the
bio_add_virt_nofail helper implementing it and use bio_add_vmalloc
to insulate xfs from the details of adding vmalloc memory to a bio.
Signed-off-by: Christoph Hellwig
---
fs/xfs/xfs_buf.c | 43 --
Switch zonefs_read_super to allocate the superblock buffer using kmalloc
which falls back to the page allocator for PAGE_SIZE allocation but
gives us a kernel virtual address and then use bdev_rw_virt to perform
the synchronous read into it.
Signed-off-by: Christoph Hellwig
Acked-by: Damien Le Mo
Switch gfs2_read_super to allocate the superblock buffer using kmalloc
which falls back to the page allocator for PAGE_SIZE allocation but
gives us a kernel virtual address and then use bdev_rw_virt to perform
the synchronous read into it.
Signed-off-by: Christoph Hellwig
Reviewed-by: Andreas Gru
Rewrite bio_map_kern using the new bio_add_* helpers and drop the
kerneldoc comment that is superfluous for an internal helper.
Signed-off-by: Christoph Hellwig
---
block/blk-map.c | 56 -
1 file changed, 9 insertions(+), 47 deletions(-)
diff --gi
Use the bio_add_virt_nofail to add a single kernel virtual address
to a bio as that can't fail.
Signed-off-by: Christoph Hellwig
Acked-by: Jack Wang
Reviewed-by: Damien Le Moal
Reviewed-by: Johannes Thumshirn
---
drivers/block/rnbd/rnbd-srv.c | 7 +--
1 file changed, 1 insertion(+), 6 del
Add a helper to add a vmalloc region to a bio, abstracting away the
vmalloc addresses from the underlying pages and another one wrapping
it for the simple case where all data fits into a single bio.
Signed-off-by: Christoph Hellwig
---
block/bio.c | 55 +++
Remove the q argument from blk_rq_map_kern and the internal helpers
called by it as the queue can trivially be derived from the request.
Signed-off-by: Christoph Hellwig
Reviewed-by: Damien Le Moal
Reviewed-by: Hannes Reinecke
Reviewed-by: Johannes Thumshirn
---
block/blk-map.c| 2
That way the bio can be allocated with the right operation already
set and there is no need to pass the separated 'reading' argument.
Signed-off-by: Christoph Hellwig
Reviewed-by: Damien Le Moal
Reviewed-by: Hannes Reinecke
Reviewed-by: Johannes Thumshirn
---
block/blk-map.c | 30
Hi all,
this series adds more block layer helpers to remove boilerplate code when
adding memory to a bio or to even do the entire synchronous I/O.
The main aim is to avoid having to convert to a struct page in the caller
when adding kernel direct mapping or vmalloc memory.
Changes since v1:
- t
Add a helper to perform synchronous I/O on a kernel direct map range.
Currently this is implemented in various places in usually not very
efficient ways, so provide a generic helper instead.
Signed-off-by: Christoph Hellwig
Reviewed-by: Damien Le Moal
Reviewed-by: Hannes Reinecke
Reviewed-by: J
Add a helper to check how many bio_vecs are needed to add a kernel
virtual address range to a bio, accounting for the always contiguous
direct mapping and vmalloc mappings that usually need a bio_vec
per page sized chunk.
Signed-off-by: Christoph Hellwig
---
include/linux/bio.h | 15
Add a helper to add a directly mapped kernel virtual address to a
bio so that callers don't have to convert to pages or folios.
For now only the _nofail variant is provided as that is what all the
obvious callers want.
Signed-off-by: Christoph Hellwig
Reviewed-by: Damien Le Moal
Reviewed-by: Ha
On Wed, 30 Apr 2025, Dan Carpenter wrote:
> On Wed, Apr 30, 2025 at 09:50:37AM -0700, Eric Biggers wrote:
> > On Wed, Apr 30, 2025 at 11:05:54AM +0300, Dan Carpenter wrote:
> > > We need to call dm_put_live_table() even if dm_get_live_table() returns
> > > NULL.
> > >
> > > Fixes: 9355a9eb21a5
On Wed, 2025-04-30 at 11:22 -0400, Benjamin Marzinski wrote:
> On Wed, Apr 30, 2025 at 09:55:43AM +0200, Martin Wilck wrote:
> > On Tue, 2025-04-29 at 16:27 -0400, Benjamin Marzinski wrote:
> > > On Tue, Apr 29, 2025 at 09:59:40PM +0200, Martin Wilck wrote:
> > > > On Mon, 2025-04-28 at 17:45 -0400
On Wed, Apr 30, 2025 at 09:50:37AM -0700, Eric Biggers wrote:
> On Wed, Apr 30, 2025 at 11:05:54AM +0300, Dan Carpenter wrote:
> > We need to call dm_put_live_table() even if dm_get_live_table() returns
> > NULL.
> >
> > Fixes: 9355a9eb21a5 ("dm: support key eviction from keyslot managers of
> >
On Wed, Apr 30, 2025 at 11:05:54AM +0300, Dan Carpenter wrote:
> We need to call dm_put_live_table() even if dm_get_live_table() returns
> NULL.
>
> Fixes: 9355a9eb21a5 ("dm: support key eviction from keyslot managers of
> underlying devices")
> Signed-off-by: Dan Carpenter
> ---
> drivers/md/d
On Wed, Apr 30, 2025 at 09:55:43AM +0200, Martin Wilck wrote:
> On Tue, 2025-04-29 at 16:27 -0400, Benjamin Marzinski wrote:
> > On Tue, Apr 29, 2025 at 09:59:40PM +0200, Martin Wilck wrote:
> > > On Mon, 2025-04-28 at 17:45 -0400, Benjamin Marzinski wrote:
> > > > If the multipath configuration is
Useless without a prio
Cc: Martin Wilck
Cc: Benjamin Marzinski
Cc: Christophe Varoqui
Cc: DM-DEVEL ML
Signed-off-by: Xose Vazquez Perez
---
libmultipath/hwtable.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index 8b43c14d..f76d9180 10064
Some devices supoorts also ALUA
Cc: Martin Wilck
Cc: Benjamin Marzinski
Cc: Christophe Varoqui
Cc: DM-DEVEL ML
Signed-off-by: Xose Vazquez Perez
---
libmultipath/hwtable.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
in
We need to call dm_put_live_table() even if dm_get_live_table() returns
NULL.
Fixes: 9355a9eb21a5 ("dm: support key eviction from keyslot managers of
underlying devices")
Signed-off-by: Dan Carpenter
---
drivers/md/dm-table.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a
On Tue, 2025-04-29 at 16:27 -0400, Benjamin Marzinski wrote:
> On Tue, Apr 29, 2025 at 09:59:40PM +0200, Martin Wilck wrote:
> > On Mon, 2025-04-28 at 17:45 -0400, Benjamin Marzinski wrote:
> > > If the multipath configuration is changed to blacklist existing
> > > devices,
> > > and multipathd is
On Sun, 2025-04-27 at 11:12 +0200, Xose Vazquez Perez wrote:
> Original url at Wayback Machine:
> https://web.archive.org/web/20230820174630/https://listman.redhat.com/archives/dm-devel/2017-September/msg00326.html
>
> Cc: Martin Wilck
> Cc: Benjamin Marzinski
> Cc: Christophe Varoqui
> Cc: DM-
On Fri, 2025-04-25 at 15:46 +0200, Xose Vazquez Perez wrote:
> Info from:
> https://qsupport.quantum.com/kb/Flare/Content/appliances/common/InfoHubDocSite/shared_SN_appliances/Topics/overview-MultipathConf.htm
>
> Cc: Martin Wilck
> Cc: Benjamin Marzinski
> Cc: Christophe Varoqui
> Cc: DM-DEVEL
32 matches
Mail list logo