On Mon, Feb 27, 2023 at 06:51:35PM -0600, jassisinghb...@gmail.com wrote:

> From: Jassi Brar <jaswinder.si...@linaro.org>
> 
> The patchset reduces ~400 lines of code, while keeping the functionality same 
> and making
> meta-data operations much faster (by using cached structures).
> 
> Issue:
>  meta-data copies (primary and secondary) are being handled by the 
> backend/storage layer
> instead of the common core in fwu.c (as also noted by Ilias)  that is, 
> gpt_blk.c manages
> meta-data and similarly raw_mtd.c will have to do the same when it arrives. 
> The code
> could by make smaller, cleaner and optimised.
> 
> Basic idea:
>  Introduce  .read_mdata() and .write_mdata() in fwu_mdata_ops  that simply 
> read/write
> meta-data copy. The core code takes care of integrity and redundancy of the 
> meta-data,
> as a result we can get rid of every other callback .get_mdata() 
> .update_mdata()
> .get_mdata_part_num()  .read_mdata_partition()  .write_mdata_partition() and 
> the
> corresponding wrapper functions thereby making the code 100s of LOC smaller.
> 
> Get rid of fwu_check_mdata_validity() and fwu_mdata_check() which expected 
> underlying
> layer to manage and verify mdata copies.
> Implement  fwu_get_verified_mdata(struct fwu_mdata *mdata) public function 
> that reads,
> verifies and, if needed, fixes the meta-data copies.
> 
> Verified copy of meta-data is now cached as 'g_mdata' in fwu.c, which avoids 
> multiple
> low-level expensive read and parse calls.
> gpt meta-data partition numbers are now cached in gpt_blk.c, so that we don't 
> have to do expensive part_get_info() and uid ops.
> 
> Changes since v4:
>         * Change fwu-mdata-mtd bindings to not require external changes
>         * Handle 'part == BOTH_PARTS' in fwu_sync_mdata
>         * use parts_ok[] and parts_mdata[] instead of pri/sec_ok and p/s_mdata

Did you run this through CI / build sandbox? This doesn't read like you
fixed the problem I reported in CI, when I was trying to merge v4.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to