On Mon, 27 Feb 2023 at 18:58, Tom Rini <tr...@konsulko.com> wrote: > > 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. > I know that remains to be done. The dt-bindings for fwu-mdata is changed in this patchset and I thought any testcase may be impacted by it.
thanks.