Re: [PATCH v2] memcg: replace memcg ID idr with xarray

From: Andrew Morton
Date: Fri Aug 16 2024 - 03:48:42 EST


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.