Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jun 2009 18:08:00 +0200
From:      Attilio Rao <attilio@freebsd.org>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-fs@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: umount -f implementation
Message-ID:  <3bbf2fe10906300908p6b0f314di25bab46b03b5933a@mail.gmail.com>
In-Reply-To: <Pine.GSO.4.63.0906301150370.10386@muncher.cs.uoguelph.ca>
References:  <Pine.GSO.4.63.0906281955160.5084@muncher.cs.uoguelph.ca> <3bbf2fe10906290256x4bfbe263jccef017a557f9410@mail.gmail.com> <Pine.GSO.4.63.0906301150370.10386@muncher.cs.uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
2009/6/30 Rick Macklem <rmacklem@uoguelph.ca>:
>
>
> On Mon, 29 Jun 2009, Attilio Rao wrote:
>
>>
>> While that should be real in principle (immediate shutdown of the fs
>> operation and unmounting of the partition) it is totally impossible to
>> have it completely unsleeping, so it can happen that also umount -f
>> sleeps / delays for some times (example: vflush).
>> Currently, umount -f is one of the most complicated thing to handle in
>> our VFS because it puts as requirement that vnodes can be reclaimed in
>> any moment, adding complexity and possibility for races.
>>
>> What's the fix for your problem?
>>
> From other responses, it does look like pursuing this is appropriate
> and that current behaviour is considered a bug.
>
> I should have noted in the previous email that I suspected that my simple
> patch didn't handle all cases, which I have just determined via testing.
>
> Unfortunately, the thread doing "umount" can also get stuck in an msleep()
> while waiting for the mnt_lockref to go to 0, which happens before the
> VFS_UNMOUNT() call. (mnt_lockref gets incremented by various system
> calls that call vfs_busy().)

Sorry for not answering and I still didn't read this thread at all, I
just wanted to let you know that this msleep is skipped for the force
unmount, it should just happen in a normal unmount case.

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3bbf2fe10906300908p6b0f314di25bab46b03b5933a>