Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 28 Aug 2003 02:45:25 +0530 (IST) | From | Nagendra Singh Tomar <> | Subject | Re: Lockless file reading |
| |
On Thu, 28 Aug 2003, Timo Sirainen wrote:
> On Wed, 2003-08-27 at 21:42, Nagendra Singh Tomar wrote: > > Hi, > > I beleive ur original post was to address the case of a reader > reading > > a file getting *incorrect* data due to the file being written > > simultaneously by another writer process. > > Well, "old" data, which mixed with new data would become incorrect as a > whole.
What is this mixing we are talking of ??
> > > Why do u require file locking if there is a *single* writer ?? I don't > > > understand why a 123 written over XXX can result in 1X3. The kernel > should > > take care of this. When the writer process is writing 123 it will > first be > > written to the page cache. The page cache lock will be taken inside > the > > kernel before writing to it, so we know that writing 123 over XXX will > be > > atomic. Now even when this page is flushed to disk, the page lock > would > > be taken. So I cannot see a possibility of 123 written over XXX being > read > > as 1X3. > > That was my original plan, to just rely on such kernel behaviour. I just > don't know if it's such a good idea to rely on that, especially if I > want to keep my program portable. I'll probably fallback to that anyway > if my checksumming ideas won't work.
But I don't see any problem with a single writer and >=1 reader. There is no question of portability.
tomar > >
- 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/
| ![\](/images/icornerr.gif) |