Messages in this thread | | | Date | Tue, 18 Sep 2007 10:33:26 +0400 | From | Pavel Emelyanov <> | Subject | Re: [PATCH] Wake up mandatory locks waiter on chmod (v2) |
| |
Trond Myklebust wrote: > On Mon, 2007-09-17 at 18:16 +0400, Pavel Emelyanov wrote: >> Trond Myklebust wrote: >>> On Mon, 2007-09-17 at 12:13 +0400, Pavel Emelyanov wrote: >>>> When the process is blocked on mandatory lock and someone changes >>>> the inode's permissions, so that the lock is no longer mandatory, >>>> nobody wakes up the blocked process, but probably should. >>> Please explain in more detail why we need this patch. >> From "this fixes an OOPs/deadlock/leak" POV we do not. This is >> just an attempt to make the locking code be more consistent and >> clean. > > Why do you think we get a deadlock or leak? AFAICS if the user turns off
I didn't' tell that.
> mandatory locks on the file, then the existing locks default back into > advisory locks which use the same notification mechanism as the > mandatory locks.
True.
> IOW: the process that is waiting in locks_mandatory_area() will be > released as soon as the advisory lock is dropped. If that theory is > broken in practice, then that is the bug that we need to fix. We neither > want to add a load of locking crap to notify_change(), nor should we > need to.
We have this for inotify already. Adding wakeup for mandatory lock is not that bad.
Anyway - I noticed, that the system state can become not consistent and proposed the way to fix it. If this inconsistency is not a big deal, and nobody cares, than I'm fine with forgetting this patch, since I have no other arguments to protect it, but "this is just not very nice without this patch".
> Cheers > Trond > >
Thanks, Pavel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |