The kernel lock is released the moment the process is put asleep in the
upcall. Keep that in mind.
- Peter -
On Wed, 9 Feb 2000, Jan Harkes wrote:
> On Wed, Feb 09, 2000 at 06:36:34PM -0500, Alexander Viro wrote:
> >
> >
> > On Wed, 9 Feb 2000, Tigran Aivazian wrote:
> >
> > > Hi Linus,
> > >
> > > I have removed lock/unlock_kernel() from fsync(2)/fdatasyn(2) system
> > > calls. Obviously, I had to go through each filesystem's f_op->fsync()
> > > implementation ensuring that it is SMP-safe. This is the resulting
> > > patch:
> >
> > Warning: clashes within UDF stuff (definitely) and CODA (quite likely).
> >
>
> I've taken a quick look at it and it seems to be correct, the kernel
> lock is taken before the upcall to Venus is made. Although I haven't
> looked whether it is taken before we call fsync on the container file
> because I guess that would not be such a good idea.
>
> I've also grabbed the (untested) address space patch that you mentioned
> earlier. I'll fool around with that one tonight. Nice to see that
> coda_read/writepage are completely eliminated.
>
> btw. The whole MAKE_CINODE downcall becomes obsolete as a result of the
> address space changes. I hope to have an incremental patch to clean that
> up by tomorrow if I get it to work at all :)
>
> Jan
>