linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Christoph Hellwig <hch@infradead.org>
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>,
	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 08:41:18 +0300	[thread overview]
Message-ID: <101227e9-b101-ffc9-1dc2-fc23a9d4905b@gmail.com> (raw)
In-Reply-To: <YRyZsDAiDX8OEO35@infradead.org>

18.08.2021 08:25, Christoph Hellwig пишет:
> 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.

I'll change it in v6.

> 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?

User indeed must pass the 'gpt' argument to kernel cmdline. That's what
all those Android devices do. Should be okay to keep that requirement.

      reply	other threads:[~2021-08-18  5:41 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
2021-08-18  5:41     ` Dmitry Osipenko [this message]

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=101227e9-b101-ffc9-1dc2-fc23a9d4905b@gmail.com \
    --to=digetx@gmail.com \
    --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=hch@infradead.org \
    --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 \
    --subject='Re: [PATCH v5 5/5] partitions/efi: Support non-standard GPT location' \
    /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

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).