Re: Data not reflected in case of multipage bio

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

 



On Wed, 2006-01-04 at 21:09 +0900, Goldwyn Rodrigues wrote:
> Hi,
> 
> I am using bios (no buffer_heads) for a filesystem which tries to job
> of the block system layer as well. The filesystem, just takes the
> sector number and allocates a multipage bio for the I/O.. of the order
> 128 vectors or 2MB of 16K pages (I am using an IA64 machine). the idea
> is to perform clustered I/O and avoid buffer_heads.
> 
> The test program performs write()s and read()s one after the other in
> an endless cycle. If write()s are immediately followed by a read(),
> the read does not reflect the data which was written. This does not
> happen always, but sometimes. If I put in a delay between writes and
> reads, it seems to work fine. This does not reflect with one or two
> processes, but with multiple processes it results in hte problem, and
> probability increases with the number of processes.
> 
> I have tried WRITE_BARRIER but it does not work, returning
> -EOPNOTSUPP. The end_bio function does not return any error either. I
> tried different elevator algorithms as well, but to no success.
> 
> Any pointers..?

maybe give an url to your code so that people can see if there's bugs?



--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux