Re: [PATCH 2/2] staging: lustre: obdclass: Add handling of error returned by lustre_cfg_new
From: James Simmons
Date: Sun Nov 06 2016 - 23:10:28 EST
> On Nov 6, 2016, at 12:11 PM, Christophe JAILLET wrote:
>
> > 'lustre_cfg_new()' can return ERR_PTR(-ENOMEM).
> > Handle these errors and propagate the error code to the callers.
> >
> > Error handling has been rearranged in 'lustre_process_log()' with the
> > addition of a label in order to free some resources.
>
> I wonder if we should just make it return NULL on allocation failure,
> and then at least the other error handling that is there (i.e. in your other patch)
> would become correct.
> This would make handling in mgc_apply_recover_logs incorrect, but it's already
> geared towards this sort of handling anyway, as it discards the passed error
> and sets ENOMEM unconditionally (just need to revert 3092c34a in a way).
The header lustre_cfg.h is meant to be a UAPI header file. It is used for
our userland tools but with the current shape of lustre_cfg.h upstream our
tools will not build with it. So having kzalloc and kfree in this header
is incorrect. To do this right I need to update our user land tools as
well so we should hold off on these patches.