Hello! This fixes a buglet in new reiserfs_file_write() that escaped out previous tests. Problem only occurs on non-empty appended (opened with O_APPEND) files that are being written with more than 128k bytes data at a time (write syscall). Fix itself is trivial. Diffstat: file.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Plain text patch: # This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.632 -> 1.633 # fs/reiserfs/file.c 1.10 -> 1.11 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/09/11 green@angband.namesys.com 1.633 # reiserfs: Fix a case where non empty files written to with O_APPEND set and amount of bytes to write bigger than 128k (or up to 4k less for non page aligned writes) can get their content damaged. # -------------------------------------------- # diff -Nru a/fs/reiserfs/file.c b/fs/reiserfs/file.c --- a/fs/reiserfs/file.c Wed Sep 11 18:50:13 2002 +++ b/fs/reiserfs/file.c Wed Sep 11 18:50:14 2002 @@ -1189,7 +1189,7 @@ already_written += write_bytes; buf += write_bytes; - pos = *ppos += write_bytes; + *ppos = pos += write_bytes; count -= write_bytes; }