Re: [PATCH v4] block: genhd: don't call probe function with major_names_lock held

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2021/08/18 22:47, Christoph Hellwig wrote:
> Hi Tetsuo,
> 
> I might sound like a broken record, but we need to reduce the locking
> complexity, not make it worse and fall down the locking cliff.  I did
> send a suggested series this morning, in which you found a bunch of
> bugs.  I'd appreciate it if you could use your superior skills to
> actually help explain the issue and arrive at a common solution that
> actually simplifies things instead of steaming down the locking cliff
> full speed.  Thank you very much.

I posted "[PATCH] loop: break loop_ctl_mutex into loop_idr_spinlock and loop_removal_mutex"
which reduces the locking complexity while fixing bugs, but you ignored it. Instead,
you decided to remove cryptoloop module (where userspace doing "modprobe cryptoloop"
will break). That is, you decided not to provide patches which can be backported.

Please do review my patches carefully instead of posting broken random patch series
at full speed. "[PATCH v3] block: genhd: don't call probe function with major_names_lock
held" is a revertable patch which we can revert in future after all locking dependencies
are simplified enough. Applying this patch does not break userspace.

Then, if you review "[PATCH] loop: break loop_ctl_mutex into loop_idr_spinlock and
loop_removal_mutex" carefully, you can easily figure out why I used HIDDEN_LOOP_DEVICE
magic. You are not aware of why loop_ctl_mutex is held during entire add/remove/lookup
operations. Since reducing the duration of loop_ctl_mutex might break existing userspace,
this patch is not suitable for backporting. We can apply this patch based on agreement
for future kernels and userspace.

After "[PATCH v3] block: genhd: don't call probe function with major_names_lock held"
and "[PATCH] loop: break loop_ctl_mutex into loop_idr_spinlock and loop_removal_mutex"
are applied, you can propose changes which remove cryptoloop module (of course, with
cares added for not to break userspace).




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux