Source-Changes-D archive

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

Re: CVS commit: src/sys

On Apr 28, 2013, at 10:56 AM, Michael van Elst <> 

> On Sun, Apr 28, 2013 at 10:31:19AM +0200, J. Hannken-Illjes wrote:
>> On Apr 27, 2013, at 12:27 AM, Michael van Elst 
>> <> wrote:
>>> Module Name:        src
>>> Committed By:       mlelstv
>>> Date:               Fri Apr 26 22:27:17 UTC 2013
>>> Modified Files:
>>>     src/sys/kern: vfs_mount.c
>>>     src/sys/sys: mount.h
>>> Log Message:
>>> Correct umount semantics to return EBUSY when a filesystem is busy
>>> instead of failing filesystem operations with EBUSY when attempting
>>> an umount.
>>> This fixes kern/38141.
>> Who did the review or where has it been discussed?
> Christos with a former version and David Holland with the current.
>> We now get a deadlock between mountlist_lock and mnt_unmounting,
>> seen between dounmount() and do_sys_sync() for example.
> Do you have a PR showing how to produce that deadlock?

No PR -- but the attached script should do the job.

>> The lock order is mountlist_lock->mnt_unmounting, but dounmount()
>> locks in reverse direction.
> The locking order hasn't been changed, but the faulty tryenter has been
> replaced with an enter.

Sure -- and that is the problem.  The locking order was wrong and you
removed the hack/workaround without fixing the lock order.

> If there is a locking violation it just didn't
> show up with the former code as even LOCKDEBUG had been hacked to allow
> it.

This hack was about recursive rw_tryenter() if I remember right.

J. Hannken-Illjes - - TU Braunschweig 

Description: Binary data

Home | Main Index | Thread Index | Old Index