From: Dmitry Osipenko <digetx@gmail.com> To: "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> Cc: linux-tegra@vger.kernel.org, linux-block@vger.kernel.org, linux-efi <linux-efi@vger.kernel.org> Subject: [PATCH v6 2/5] partitions/efi: Support non-standard GPT location Date: Thu, 19 Aug 2021 01:19:17 +0300 [thread overview] Message-ID: <20210818221920.3893-3-digetx@gmail.com> (raw) In-Reply-To: <20210818221920.3893-1-digetx@gmail.com> 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 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/block/partitions/efi.c b/block/partitions/efi.c index aaa3dc487cb5..7ca5c4c374d4 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,16 @@ 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) { + sector_t agpt_sector; + int err; + + err = fops->alternative_gpt_sector(disk, &agpt_sector); + if (!err) + good_agpt = is_gpt_valid(state, agpt_sector, + &agpt, &aptes); + } + /* The obviously unsuccessful case */ if (!good_pgpt && !good_agpt) goto fail; -- 2.32.0
next prev parent reply other threads:[~2021-08-18 22:19 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-18 22:19 [PATCH v6 0/5] Support EFI partition on NVIDIA Tegra devices Dmitry Osipenko 2021-08-18 22:19 ` [PATCH v6 1/5] block: Add alternative_gpt_sector() operation Dmitry Osipenko 2021-08-19 7:08 ` Christoph Hellwig 2021-08-18 22:19 ` Dmitry Osipenko [this message] 2021-08-19 7:11 ` [PATCH v6 2/5] partitions/efi: Support non-standard GPT location Christoph Hellwig 2021-08-19 15:17 ` Davidlohr Bueso 2021-08-20 22:45 ` Michał Mirosław 2021-08-21 17:26 ` Dmitry Osipenko 2021-08-18 22:19 ` [PATCH v6 3/5] mmc: core: Add raw_boot_mult field to mmc_ext_csd Dmitry Osipenko 2021-08-18 22:19 ` [PATCH v6 4/5] mmc: block: Support alternative_gpt_sector() operation Dmitry Osipenko 2021-08-18 22:19 ` [PATCH v6 5/5] mmc: sdhci-tegra: Enable MMC_CAP2_ALT_GPT_SECTOR Dmitry Osipenko 2021-08-19 17:18 ` [PATCH v6 0/5] Support EFI partition on NVIDIA Tegra devices Davidlohr Bueso 2021-08-19 22:27 ` Dmitry Osipenko 2021-08-20 22:41 ` Michał Mirosław 2021-08-21 17:27 ` Dmitry Osipenko 2021-08-23 23:40 ` Michał Mirosław 2021-08-24 10:38 ` Michał Mirosław 2021-08-24 16:06 ` Dmitry Osipenko 2021-08-24 17:03 ` Michał Mirosław
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=20210818221920.3893-3-digetx@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 v6 2/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).