linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Dmitry Osipenko <digetx@gmail.com>
Cc: Jens Axboe <axboe@kernel.dk>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Micha?? Miros??aw <mirq-linux@rere.qmqm.pl>,
	David Heidelberg <david@ixit.cz>,
	Peter Geis <pgwipeout@gmail.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Christoph Hellwig <hch@infradead.org>,
	Davidlohr Bueso <dave@stgolabs.net>,
	Rob Herring <robh+dt@kernel.org>, Ion Agorria <AG0RRIA@yahoo.com>,
	Svyatoslav Ryhel <clamor95@gmail.com>,
	linux-tegra@vger.kernel.org, linux-block@vger.kernel.org,
	linux-efi <linux-efi@vger.kernel.org>
Subject: Re: [PATCH v5 5/5] partitions/efi: Support non-standard GPT location
Date: Wed, 18 Aug 2021 06:25:04 +0100	[thread overview]
Message-ID: <YRyZsDAiDX8OEO35@infradead.org> (raw)
In-Reply-To: <20210818005547.14497-6-digetx@gmail.com>

On Wed, Aug 18, 2021 at 03:55:47AM +0300, Dmitry Osipenko wrote:
> Support looking up GPT at a non-standard location specified by a block
> device driver.
> 
> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
> ---
>  block/partitions/efi.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/block/partitions/efi.c b/block/partitions/efi.c
> index aaa3dc487cb5..b9509f445b3c 100644
> --- a/block/partitions/efi.c
> +++ b/block/partitions/efi.c
> @@ -585,6 +585,8 @@ static int find_valid_gpt(struct parsed_partitions *state, gpt_header **gpt,
>  	gpt_header *pgpt = NULL, *agpt = NULL;
>  	gpt_entry *pptes = NULL, *aptes = NULL;
>  	legacy_mbr *legacymbr;
> +	struct gendisk *disk = state->disk;
> +	const struct block_device_operations *fops = disk->fops;
>  	sector_t total_sectors = get_capacity(state->disk);
>  	u64 lastlba;
>  
> @@ -619,6 +621,17 @@ static int find_valid_gpt(struct parsed_partitions *state, gpt_header **gpt,
>          if (!good_agpt && force_gpt)
>                  good_agpt = is_gpt_valid(state, lastlba, &agpt, &aptes);
>  
> +	if (!good_agpt && force_gpt && fops->alternative_gpt_sector) {
> +		struct block_device *bdev = disk->part0;
> +		sector_t agpt_sector;
> +		int err;
> +
> +		err = fops->alternative_gpt_sector(bdev, &agpt_sector);

Please call the method with the disk as the argument.  I've been moving
the block layer to generally pass the gendisk whenever we're dealing
with the whole device, as that makes the intent very clear.

Also do we really need the force_gpt check?  That is we always require
the user to pass a command line argument to use this?

  reply	other threads:[~2021-08-18  5:27 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-18  0:55 [PATCH v5 0/5] Support EFI partition on NVIDIA Tegra devices Dmitry Osipenko
2021-08-18  0:55 ` [PATCH v5 1/5] block: Add alternative_gpt_sector() operation Dmitry Osipenko
2021-08-18  5:20   ` Christoph Hellwig
2021-08-18  5:41     ` Dmitry Osipenko
2021-08-18  0:55 ` [PATCH v5 2/5] mmc: block: Support " Dmitry Osipenko
2021-08-18  5:28   ` Christoph Hellwig
2021-08-18  5:40     ` Dmitry Osipenko
2021-08-18  0:55 ` [PATCH v5 3/5] mmc: core: Add raw_boot_mult field to mmc_ext_csd Dmitry Osipenko
2021-08-18  0:55 ` [PATCH v5 4/5] mmc: sdhci-tegra: Implement alternative_gpt_sector() Dmitry Osipenko
2021-08-18  5:30   ` Christoph Hellwig
2021-08-18  5:42     ` Dmitry Osipenko
2021-08-18  9:55   ` Ulf Hansson
2021-08-18 13:35     ` Thierry Reding
2021-08-18 16:15       ` Dmitry Osipenko
2021-08-19  8:58         ` Thierry Reding
2021-08-19 13:20       ` Ulf Hansson
2021-08-19 17:19         ` Thierry Reding
2021-08-20  8:16           ` Ulf Hansson
2021-08-18  0:55 ` [PATCH v5 5/5] partitions/efi: Support non-standard GPT location Dmitry Osipenko
2021-08-18  5:25   ` Christoph Hellwig [this message]
2021-08-18  5:41     ` Dmitry Osipenko

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=YRyZsDAiDX8OEO35@infradead.org \
    --to=hch@infradead.org \
    --cc=AG0RRIA@yahoo.com \
    --cc=adrian.hunter@intel.com \
    --cc=axboe@kernel.dk \
    --cc=clamor95@gmail.com \
    --cc=dave@stgolabs.net \
    --cc=david@ixit.cz \
    --cc=digetx@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mirq-linux@rere.qmqm.pl \
    --cc=pgwipeout@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=ulf.hansson@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).