OSDN Git Service

Btrfs: Fix u32 overflow in dirty_and_release_pages.
authorYan <yanzheng@21cn.com>
Tue, 6 Nov 2007 15:26:26 +0000 (10:26 -0500)
committerChris Mason <chris.mason@oracle.com>
Thu, 25 Sep 2008 15:03:57 +0000 (11:03 -0400)
commitdcfec0dcb1b1a037fb26177789e8f108bc429cb3
treeab052a4aa666d6453e26d32ba509e46c0ef3d85f
parent081e95736d9118a96e9f6dcc5cec02dc75c9e1cb
Btrfs: Fix u32 overflow in dirty_and_release_pages.

When calculating the size of inline extent,  inode->i_size should also
be take into consideration, otherwise sys_write may drop some data
silently.  You can test this bug by:

#dd if=/dev/zero bs=4k count=1 of=test_file
#dd if=/dev/zero bs=2k count=1 of=test_file conv=notrunc

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/file.c