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