Re: [PATCH v2] memcg: replace memcg ID idr with xarray
From: Michal Hocko
Date: Fri Aug 16 2024 - 04:19:11 EST
On Fri 16-08-24 00:43:34, Andrew Morton wrote:
> On Fri, 16 Aug 2024 09:19:58 +0200 Michal Hocko <mhocko@xxxxxxxx> wrote:
>
> > On Thu 15-08-24 22:16:27, Matthew Wilcox wrote:
> > > On Thu, Aug 15, 2024 at 07:31:43PM +0000, Roman Gushchin wrote:
> > > > There is another subtle change here: xa_alloc() returns -EBUSY in the case
> > > > of the address space exhaustion, while the old code returned -ENOSPC.
> > > > It's unlikely a big practical problem.
> > >
> > > I decided that EBUSY was the right errno for this situation;
> > >
> > > #define EBUSY 16 /* Device or resource busy */
> > > #define ENOSPC 28 /* No space left on device */
> > >
> > > ENOSPC seemed wrong; the device isn't out of space.
> >
> > The thing is that this is observable by userspace - mkdir would return a
> > different and potentially unexpected errno. We can try and see whether
> > anybody complains or just translate the error.
>
> The mkdir(2) manpage doesn't list EBUSY. Maybe ENOMEM is close enough.
it used to report ENOSPC with xarray.
--
Michal Hocko
SUSE Labs