On Mon, Dec 14, 2020 at 3:06 PM Steven Whitehouse <swhit...@redhat.com> wrote:
> On 14/12/2020 14:02, Bob Peterson wrote:
> > Hi,
> >
> > ----- Original Message -----
> >> +    ret = __gfs2_trans_begin(sdp, 0, revokes, GFP_NOFS | __GFP_NOFAIL);
> > The addition of __GFP_NOFAIL means that this operation can now block.
> > Looking at the code, I don't think it will be a problem because it can
> > already block in the log_flush operations that precede it, but it
> > makes me nervous. Obviously, we need to test this really well.
> >
> > Bob
> >
> Not sure of the context here exactly, but why are we adding an instance
> of __GFP_NOFAIL? There is already a return code there so that we can
> fail in that case if required,

__GFS_NOFAIL is used in {inode,rgrp}_go_sync -> gfs2_ail_empty_gl ->
__gfs2_trans_begin, and there isn't any reasonable way to react an
-ENOMEM error but to repeat the allocation.

Thanks,
Andreas

Reply via email to