On Tue 29-03-22 15:14:27, Christoph Hellwig wrote: > On Tue, Mar 29, 2022 at 11:42:03AM +0200, Jan Kara wrote: > > > entirely, as loop_clr_fd now is safe against concurrent users - it > > > has to anyway as there can be other users even without an open. > > > > Ah, OK, so you'd always set LO_AUTOCLEAR and leave cleanup to happen > > from lo_release()? That makes sense to me. > > No, my idea was to never set LO_AUTOCLEAR. We have a frozen queue and > all protections in place to make clearing the file perfectly safe. > In fact the change_fd case also allows this. I see, thanks for explanation. But then there's the risk of userspace regressions if someone relies on the current behavior that LOOP_CLR_FD ioctl does only delayed teardown of the device if someone is using it. Personally I don't think the risk of regression is worth the benefit of the cleanup but maybe it's worth trying. At least I know that for loop device handling inside mount(8) (which plays tricks with reusing existing bound loop devices), this change should be safe. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR