Btrfs: do not call btrfs_update_inode in endio if nothing changed
authorJosef Bacik <josef@redhat.com>
Tue, 5 Apr 2011 23:25:36 +0000 (19:25 -0400)
committerJosef Bacik <josef@redhat.com>
Fri, 8 Apr 2011 17:00:36 +0000 (13:00 -0400)
commit1ef30be142d2cc60e2687ef267de864cf31be995
treedbbde7067995b62e4123b44b3c62d7b5efc9ee24
parent12ddb96cb6752218d8a1aeb696ec9b0ca7adb42f
Btrfs: do not call btrfs_update_inode in endio if nothing changed

In the DIO code we often don't update the i_disk_size because the i_size isn't
updated until after the DIO is completed, so basically we are allocating a path,
doing a search, and updating the inode item for no reason since nothing changed.
btrfs_ordered_update_i_size will return 1 if it didn't update i_disk_size, so
only run btrfs_update_inode if btrfs_ordered_update_i_size returns 0.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
fs/btrfs/inode.c