All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ulrich Ölmann" <u.oelmann@pengutronix.de>
To: Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH 11/18] block: parse partition table on block device registration
Date: Thu, 01 Jun 2023 10:24:15 +0200	[thread overview]
Message-ID: <6r4jnr4mie.fsf@pengutronix.de> (raw)
In-Reply-To: <20230531145927.1399282-12-a.fatoum@pengutronix.de>

Hi Ahmad,

again a small typo:

On Wed, May 31 2023 at 16:59 +0200, Ahmad Fatoum <a.fatoum@pengutronix.de> wrote:
> Every instance where we register a block device, it's followed by an

s/device, it's/device is/

Best regards
Ulrich


> attempt to parse the partition table, most often with a warning when
> it fails. Thus let's move partition table parsing into
> blockdevice_register.
>
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
>  arch/sandbox/board/hostfile.c | 4 ----
>  common/block.c                | 6 ++++++
>  drivers/ata/disk_ata_drive.c  | 5 -----
>  drivers/block/efi-block-io.c  | 9 +--------
>  drivers/block/virtio_blk.c    | 8 +-------
>  drivers/mci/mci-core.c        | 6 ------
>  drivers/nvme/host/core.c      | 5 -----
>  drivers/usb/storage/usb.c     | 5 -----
>  8 files changed, 8 insertions(+), 40 deletions(-)
>
> diff --git a/arch/sandbox/board/hostfile.c b/arch/sandbox/board/hostfile.c
> index d0f400787d7a..a1ab06b87770 100644
> --- a/arch/sandbox/board/hostfile.c
> +++ b/arch/sandbox/board/hostfile.c
> @@ -166,10 +166,6 @@ static int hf_probe(struct device *dev)
>  		if (err)
>  			return err;
>  
> -		err = parse_partition_table(&priv->blk);
> -		if (err)
> -			dev_warn(dev, "No partition table found\n");
> -
>  		dev_info(dev, "registered as block device\n");
>  	} else {
>  		cdev->name = np->name;
> diff --git a/common/block.c b/common/block.c
> index c39269d3a692..98adcfdf3dab 100644
> --- a/common/block.c
> +++ b/common/block.c
> @@ -6,6 +6,7 @@
>   */
>  #include <common.h>
>  #include <block.h>
> +#include <disks.h>
>  #include <malloc.h>
>  #include <linux/err.h>
>  #include <linux/list.h>
> @@ -408,6 +409,11 @@ int blockdevice_register(struct block_device *blk)
>  
>  	cdev_create_default_automount(&blk->cdev);
>  
> +	/* Lack of partition table is unusual, but not a failure */
> +	ret = parse_partition_table(blk);
> +	if (ret)
> +		dev_warn(blk->dev, "No partition table found\n");
> +
>  	return 0;
>  }
>  
> diff --git a/drivers/ata/disk_ata_drive.c b/drivers/ata/disk_ata_drive.c
> index c1c736a0a88a..2d97710b827a 100644
> --- a/drivers/ata/disk_ata_drive.c
> +++ b/drivers/ata/disk_ata_drive.c
> @@ -254,11 +254,6 @@ static int ata_port_init(struct ata_port *port)
>  
>  	dev_info(dev, "registered /dev/%s\n", port->blk.cdev.name);
>  
> -	/* create partitions on demand */
> -	rc = parse_partition_table(&port->blk);
> -	if (rc != 0)
> -		dev_warn(dev, "No partition table found\n");
> -
>  	return 0;
>  
>  on_error:
> diff --git a/drivers/block/efi-block-io.c b/drivers/block/efi-block-io.c
> index eb4981e86298..7162106ab8ea 100644
> --- a/drivers/block/efi-block-io.c
> +++ b/drivers/block/efi-block-io.c
> @@ -12,7 +12,6 @@
>  #include <fcntl.h>
>  #include <efi.h>
>  #include <block.h>
> -#include <disks.h>
>  #include <efi/efi-payload.h>
>  #include <efi/efi-device.h>
>  #include <bootsource.h>
> @@ -184,16 +183,10 @@ static int efi_bio_probe(struct efi_device *efidev)
>  
>  	priv->media_id = media->media_id;
>  
> -	ret = blockdevice_register(&priv->blk);
> -	if (ret)
> -		return ret;
> -
>  	if (efi_get_bootsource() == efidev)
>  		bootsource_set_raw_instance(instance);
>  
> -	parse_partition_table(&priv->blk);
> -
> -	return 0;
> +	return blockdevice_register(&priv->blk);
>  }
>  
>  static struct efi_driver efi_bio_driver = {
> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 660f3a7b6b9b..11e52d9e6457 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -105,13 +105,7 @@ static int virtio_blk_probe(struct virtio_device *vdev)
>  	priv->blk.num_blocks = cap;
>  	priv->blk.ops = &virtio_blk_ops;
>  
> -	ret = blockdevice_register(&priv->blk);
> -	if (ret)
> -		return ret;
> -
> -	parse_partition_table(&priv->blk);
> -
> -	return 0;
> +	return blockdevice_register(&priv->blk);
>  }
>  
>  static void virtio_blk_remove(struct virtio_device *vdev)
> diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c
> index 6d0d6473770c..32edd5382386 100644
> --- a/drivers/mci/mci-core.c
> +++ b/drivers/mci/mci-core.c
> @@ -1900,12 +1900,6 @@ static int mci_register_partition(struct mci_part *part)
>  		return 0;
>  	}
>  
> -	rc = parse_partition_table(&part->blk);
> -	if (rc != 0) {
> -		/* Lack of partition table is unusual, but not a failure */
> -		dev_warn(&mci->dev, "No partition table found\n");
> -	}
> -
>  	if (np) {
>  		of_parse_partitions(&part->blk.cdev, np);
>  
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index bf9176ce0922..79a5f9325ef8 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -1,6 +1,5 @@
>  // SPDX-License-Identifier: GPL-2.0-only
>  #include <common.h>
> -#include <disks.h>
>  
>  #include "nvme.h"
>  
> @@ -373,10 +372,6 @@ static void nvme_alloc_ns(struct nvme_ctrl *ctrl, unsigned nsid)
>  		goto out_free_id;
>  	}
>  
> -	ret = parse_partition_table(&ns->blk);
> -	if (ret)
> -		dev_warn(ctrl->dev, "No partition table found\n");
> -
>  	return;
>  out_free_id:
>  	kfree(id);
> diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
> index 103ae293a3a4..dda713196071 100644
> --- a/drivers/usb/storage/usb.c
> +++ b/drivers/usb/storage/usb.c
> @@ -420,11 +420,6 @@ static int usb_stor_add_blkdev(struct us_data *us, unsigned char lun)
>  		goto BadDevice;
>  	}
>  
> -	/* create partitions on demand */
> -	result = parse_partition_table(&pblk_dev->blk);
> -	if (result != 0)
> -		dev_warn(dev, "No partition table found\n");
> -
>  	list_add_tail(&pblk_dev->list, &us->blk_dev_list);
>  	dev_dbg(dev, "USB disk device successfully added\n");
-- 
Pengutronix e.K.                           | Ulrich Ölmann               |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



  parent reply	other threads:[~2023-06-01  8:27 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-31 14:59 [PATCH 00/18] state: allow lookup of barebox state partition by Type GUID Ahmad Fatoum
2023-05-31 14:59 ` [PATCH 01/18] common: partitions: decouple from EFI GUID definition Ahmad Fatoum
2023-05-31 14:59 ` [PATCH 02/18] efi: define efi_guid_t as 32-bit aligned guid_t Ahmad Fatoum
2023-05-31 14:59 ` [PATCH 03/18] cdev: fix for_each_cdev macro Ahmad Fatoum
2023-05-31 15:37   ` Marco Felsch
2023-05-31 14:59 ` [PATCH 04/18] of: partition: support of_partition_ensure_probed on parent device Ahmad Fatoum
2023-05-31 16:30   ` Marco Felsch
2023-06-01  4:48     ` Ahmad Fatoum
2023-05-31 14:59 ` [PATCH 05/18] of: of_path: always call of_partition_ensure_probed before resolving Ahmad Fatoum
2023-05-31 16:34   ` Marco Felsch
2023-06-01  7:00   ` Ulrich Ölmann
2023-05-31 14:59 ` [PATCH 06/18] driver: add new cdev_is_partition helper Ahmad Fatoum
2023-05-31 16:36   ` Marco Felsch
2023-05-31 14:59 ` [PATCH 07/18] commands: stat: remove code duplication for type info Ahmad Fatoum
2023-05-31 16:44   ` Marco Felsch
2023-05-31 14:59 ` [PATCH 08/18] cdev: use more descriptive struct cdev::diskuuid/partuuid Ahmad Fatoum
2023-05-31 16:56   ` Marco Felsch
2023-05-31 14:59 ` [PATCH 09/18] cdev: record whether partition is parsed from OF Ahmad Fatoum
2023-05-31 17:04   ` Marco Felsch
2023-06-06 19:31     ` Ahmad Fatoum
2023-06-01  8:03   ` Ulrich Ölmann
2023-05-31 14:59 ` [PATCH 10/18] cdev: have devfs_add_partition return existing identical partition, not NULL Ahmad Fatoum
2023-05-31 17:23   ` Marco Felsch
2023-06-01  4:56     ` Ahmad Fatoum
2023-06-01  7:32       ` Sascha Hauer
2023-06-01  8:26       ` Marco Felsch
2023-06-01  7:36   ` Sascha Hauer
2023-06-07  8:06     ` Ahmad Fatoum
2023-05-31 14:59 ` [PATCH 11/18] block: parse partition table on block device registration Ahmad Fatoum
2023-05-31 17:25   ` Marco Felsch
2023-06-01  7:42   ` Sascha Hauer
2023-06-01  8:33     ` Marco Felsch
2023-06-06 19:30     ` Ahmad Fatoum
2023-06-01  8:24   ` Ulrich Ölmann [this message]
2023-06-01  8:31     ` Ahmad Fatoum
2023-06-01 10:33       ` Ahmad Fatoum
2023-05-31 14:59 ` [PATCH 12/18] common: partitions: record whether disk is GPT or MBR partitioned Ahmad Fatoum
2023-05-31 17:33   ` Marco Felsch
2023-06-01  5:08     ` Ahmad Fatoum
2023-06-01  5:58       ` Ahmad Fatoum
2023-06-01  8:19       ` Marco Felsch
2023-06-01 10:40         ` Ahmad Fatoum
2023-05-31 14:59 ` [PATCH 13/18] block: add cdev_is_block_(device,partition,disk) helpers Ahmad Fatoum
2023-05-31 17:35   ` Marco Felsch
2023-05-31 14:59 ` [PATCH 14/18] of: export new of_cdev_find helper Ahmad Fatoum
2023-05-31 17:41   ` Marco Felsch
2023-06-01  8:41   ` Ulrich Ölmann
2023-05-31 14:59 ` [PATCH 15/18] state: factor device path lookup into helper function Ahmad Fatoum
2023-05-31 17:54   ` Marco Felsch
2023-06-01  5:14     ` Ahmad Fatoum
2023-05-31 14:59 ` [PATCH 16/18] cdev: use cdev::dos_partition_type only if cdev_is_mbr_partitioned Ahmad Fatoum
2023-05-31 18:54   ` Marco Felsch
2023-06-01  5:30     ` Ahmad Fatoum
2023-05-31 14:59 ` [PATCH 17/18] common: partitions: efi: record type UUID in cdev Ahmad Fatoum
     [not found]   ` <20230531193130.fgmvxm27dh3gbvhh@pengutronix.de>
2023-06-06 19:28     ` Ahmad Fatoum
2023-06-07  8:55       ` Marco Felsch
2023-05-31 14:59 ` [PATCH 18/18] state: allow lookup of barebox state partition by Type GUID Ahmad Fatoum
2023-05-31 20:01   ` Marco Felsch
2023-06-01  5:49     ` Ahmad Fatoum
2023-06-01  8:11       ` Marco Felsch
2023-06-01 10:44         ` Ahmad Fatoum
2023-06-01  8:05   ` Sascha Hauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6r4jnr4mie.fsf@pengutronix.de \
    --to=u.oelmann@pengutronix.de \
    --cc=a.fatoum@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.