On Wed, Sep 17, 2025 at 10:38:17PM +0530, Avnish Chouhan wrote:
> On 2025-09-15 14:39, [email protected] wrote:
> > Message: 1
> > Date: Mon, 15 Sep 2025 17:08:43 +0800
> > From: Michael Chang <[email protected]>
> > To: The development of GNU GRUB <[email protected]>
> > Cc: Neal Gompa <[email protected]>,        Marta Lewandowska
> >     <[email protected]>
> > Subject: [PATCH v2 4/9] util/grub-editenv: wire set_variables to
> >     optional fs_envblk
> > Message-ID: <[email protected]>
> > 
> > This patch changes set_variables so that it can use an external
> > environment block when one is present. The variable next_entry is
> > written into the external block, env_block is treated as read only, and
> > all other variables are written into the normal file based envblk.
> > 
> > A cleanup step is added to handle cases where GRUB at runtime writes
> > variables into the external block because file based updates are not
> > safe on a copy on write filesystem such as Btrfs. For example, the
> > savedefault command can update saved_entry, and on Btrfs GRUB will place
> > that update in the external block instead of the file envblk. If an
> > older copy remains in the external block, it would override the newer
> > value from the file envblk when GRUB first loads the file and then
> > applies the external block on top of it. To avoid this, whenever a
> > variable is updated in the file envblk, any same named key in the
> > external block is deleted.
> > 
> > Signed-off-by: Michael Chang <[email protected]>
> > ---
> >  util/grub-editenv.c | 55 +++++++++++++++++++++++++++++++++++++++++++--
> >  1 file changed, 53 insertions(+), 2 deletions(-)
> > 
> > diff --git a/util/grub-editenv.c b/util/grub-editenv.c
> > index 26a81d2d0..d47adeb5e 100644
> > --- a/util/grub-editenv.c
> > +++ b/util/grub-editenv.c
> > @@ -394,12 +394,33 @@ fs_envblk_write (grub_envblk_t envblk)
> >    fclose (fp);
> >  }
> > 
> > +struct var_lookup_ctx {
> > +  const char *varname;
> > +  bool found;
> > +};
> > +
> > +static int
> > +var_lookup_iter (const char *varname, const char *value __attribute__
> > ((unused)), void *hook_data)
> > +{
> > +  struct var_lookup_ctx *ctx = (struct var_lookup_ctx *)hook_data;
> 
> Hi Michael,
> 
> Missing a space before "hook_data;"

OK. I'll put a space the cast operator.

Thanks,
Michael

> 
> Thank you!
> 
> Regards,
> Avnish Chouhan
> 
> ****
> 
> Reviewed-by: Avnish Chouhan <[email protected]>
> 

_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to