Re: [PATCH] ext4: Don't release page refs in ext4_end_bio()

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

 



On Fri, Mar 02, 2012 at 08:19:59AM -0800, Curt Wohlgemuth wrote:
> We can clear PageWriteback on each page when the IO
> completes, but we can't release the references on the page
> until we convert any uninitialized extents.
> 
> Without this patch, the use of the dioread_nolock mount
> option can break buffered writes, because extents may
> not be converted by the time a subsequent buffered read
> comes in; if the page is not in the page cache, a read
> will return zeros if the extent is still uninitialized.
> 
> I tested this with a (temporary) patch that adds a call
> to msleep(1000) at the start of ext4_end_io_work(), to delay
> processing of each DIO-unwritten work queue item.  With this
> msleep(), a simple workload of
> 
>   fallocate
>   write
>   fadvise
>   read
> 
> will fail without this patch, succeeds with it.
> 
> Signed-off-by: Curt Wohlgemuth <curtw@xxxxxxxxxx>

Thanks, applied.

					- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux