Re: [PATCH 1/5]: ufs: missed brelse and wrong baseblk

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

 



On Mon, Jun 19, 2006 at 07:28:33PM +0100, Al Viro wrote:
> On Mon, Jun 19, 2006 at 05:17:50PM +0400, Evgeniy Dushistov wrote:
> > In case of 1k fragments, msync of two pages
> > cause 8 calls of ufs's get_block_t with create == 1,
> > they will be consequent because of synchronization.
> 
> _What_ synchronization?
> Now, which lock would, in your opinion, provide serialization between these
> two calls?  They apply to different pages, so page locks do not help.
>  
you can look at fs/ufs/inode.c: ufs_getfrag_block.
It is ufs's get_block_t,
if create == 1 it uses "[un]lock_kernel". 

> To simplify the analysis, have one of those do msync() and another - write().
> One triggers writeback, leading to ufs_writepage().  Another leads to call
> of ufs_prepare_write().  Note that the latter call is process-synchronous,
> so no implicit serialization could apply.
skiped

I'll think about this.

-- 
/Evgeniy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux