From cf3cf72b2e02feb74769eb5f5238df3cdca00d4b Mon Sep 17 00:00:00 2001 From: Li Zefan Date: Fri, 2 Sep 2011 15:56:25 +0800 Subject: [PATCH] --- yaml --- r: 274659 b: refs/heads/master c: cbcc83265d929ac71553c1b5dafdb830171af947 h: refs/heads/master i: 274657: d378751e841aaf0589442de682b61032cfbb62d1 274655: 596ed21243aac8662e6d25bdd6935f1da5bdae91 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/ioctl.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index cc51257cfec1..90cb8a29ab5b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 60ccf82f5b6e26e10d41783464ca469c070c7d49 +refs/heads/master: cbcc83265d929ac71553c1b5dafdb830171af947 diff --git a/trunk/fs/btrfs/ioctl.c b/trunk/fs/btrfs/ioctl.c index 8ccc106f4e18..b39f7bf92704 100644 --- a/trunk/fs/btrfs/ioctl.c +++ b/trunk/fs/btrfs/ioctl.c @@ -1087,7 +1087,6 @@ int btrfs_defrag_file(struct inode *inode, struct file *file, defrag_count += ret; balance_dirty_pages_ratelimited_nr(inode->i_mapping, ret); - i += ret; if (newer_than) { if (newer_off == (u64)-1) @@ -1107,7 +1106,10 @@ int btrfs_defrag_file(struct inode *inode, struct file *file, break; } } else { - i++; + if (ret > 0) + i += ret; + else + i++; } }