Liu Bo 66c2689226 Btrfs: do not bother to defrag an extent if it is a big real extent
$ mkfs.btrfs /dev/sdb7
$ mount /dev/sdb7 /mnt/btrfs/ -oautodefrag
$ dd if=/dev/zero of=/mnt/btrfs/foobar bs=4k count=10 oflag=direct 2>/dev/null
$ filefrag -v /mnt/btrfs/foobar
Filesystem type is: 9123683e
File size of /mnt/btrfs/foobar is 40960 (10 blocks, blocksize 4096)
 ext logical physical expected length flags
   0       0     3072              10 eof
/mnt/btrfs/foobar: 1 extent found

Now we have a big real extent [0, 40960), but autodefrag will still defrag it.

$ sync
$ filefrag -v /mnt/btrfs/foobar
Filesystem type is: 9123683e
File size of /mnt/btrfs/foobar is 40960 (10 blocks, blocksize 4096)
 ext logical physical expected length flags
   0       0     3082              10 eof
/mnt/btrfs/foobar: 1 extent found

So if we already find a big real extent, we're ok about that, just skip it.

Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2012-03-29 09:57:45 -04:00
..
2012-01-03 22:55:04 -05:00
2012-01-03 22:54:53 -05:00
2012-01-03 22:54:07 -05:00
2012-01-03 22:54:57 -05:00
2012-01-03 22:55:10 -05:00
2012-02-28 09:52:39 +00:00
2012-01-03 22:54:54 -05:00
2012-01-09 10:48:11 -05:00
2012-02-17 17:34:03 -05:00
2012-01-03 22:55:01 -05:00
2012-02-02 12:55:17 -08:00
2012-01-03 22:55:07 -05:00
2012-01-10 13:45:22 -08:00
2012-03-09 18:59:59 -08:00
2012-01-03 22:55:11 -05:00
2012-01-03 22:54:54 -05:00
2012-02-08 22:07:18 +01:00
2012-01-03 22:54:07 -05:00
2012-03-18 12:25:04 -07:00
2012-01-03 22:52:39 -05:00
2012-03-10 17:07:28 -05:00
2012-01-05 15:40:12 -08:00
2012-01-03 22:54:07 -05:00
2012-03-10 17:05:30 -05:00
2011-10-31 17:30:44 -07:00
2012-01-03 22:52:40 -05:00
2012-01-03 22:54:07 -05:00
2011-11-02 12:53:43 +01:00
2012-01-03 22:53:07 -05:00
2012-01-03 22:54:07 -05:00
2012-01-03 22:52:40 -05:00