Hi Linus, Currently when a zero byte write is done on a regular file opened with O_APPEND the file offset is set to the end of the file. For POSIX compliant behaviour this shouldn't happen. The attached patch fixes this. Chris. --- mm/filemap.c.orig Mon Nov 20 14:05:38 2000 +++ mm/filemap.c Mon Nov 20 18:11:43 2000 @@ -2458,12 +2458,15 @@ } } - status = 0; - if (count) { - remove_suid(inode); - inode->i_ctime = inode->i_mtime = CURRENT_TIME; - mark_inode_dirty(inode); + if (count == 0) { + err = 0; + goto out; } + + status = 0; + remove_suid(inode); + inode->i_ctime = inode->i_mtime = CURRENT_TIME; + mark_inode_dirty(inode); while (count) { unsigned long bytes, index, offset; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/