tahoe-lafs/mac
robk-tahoe abae0345ad tahoefuse: fix typo which could cause data corruption
a typo in the 'flags2mode' code would wind up passing the O_APPEND
flag into the os open() call, which would cause the file to be opened
in 'strict append' mode, i.e. all writes extend the file, regardless of
calls to seek.

this causes a problem for tahoefuse in that the seek() calls made to
filehandles open through fuse would be ignored when write()s occurred.
this was evidenced by corruption seen when using rsync.  it turns out
that rsync actually makes overlapping writes in some cases, i.e. even
when writing a new fresh file out, it still doesn't write a simple
contiguous span of data, but will make writes overlapping data already
written. this is probably related to the way it manages data blocks 
internally for rolling checksums etc.  at any rate, this bug would 
thus cause rsync in those cases to write a chunk of duplicate data
into the file - leading to tahoe securely and reliably storing the
wrong data.

fixing this, so that non-append file opens do not pass O_APPEND seems
to eliminate this problem.
2008-05-07 16:42:20 -07:00
..
10.4/fuseparts mac build: tweaks to build fuse for 10.4 and 10.5 2008-02-26 18:08:44 -07:00
10.5/fuseparts mac build: tweaks to build fuse for 10.4 and 10.5 2008-02-26 18:08:44 -07:00
fuseparts mac build: tweaks to build fuse for 10.4 and 10.5 2008-02-26 18:08:44 -07:00
allmydata_tahoe.py macfuse: move macfuse files around to simplify pythonpath 2008-02-19 17:18:17 -07:00
allmydata.icns macapp: updated icon for mac build 2008-03-18 16:13:38 -07:00
depends.py mac build: make a couple of build dependency hints soft imports 2008-02-26 17:39:07 -07:00
fuse.py macfuse: move macfuse files around to simplify pythonpath 2008-02-19 17:18:17 -07:00
Makefile mac build: ahem. fix makefile probs 2008-02-26 18:48:22 -07:00
setup.py mac: shebang usr bin env python 2008-02-13 16:17:14 -07:00
tahoefuse.py tahoefuse: fix typo which could cause data corruption 2008-05-07 16:42:20 -07:00