Messages in this thread Patch in this message |  | | From | Christopher Yeoh <> | Date | Mon, 20 Nov 2000 18:43:23 +1100 (EST) | Subject | [PATCH] 0 byte writes should not seek even with O_APPEND |
| |
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 majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |