kernel-hacking-2024-linux-s.../fs/btrfs
Li Zefan 5ca496604b Btrfs: fix wrong max_to_defrag in btrfs_defrag_file()
It's off-by-one, and thus we may skip the last page while defragmenting.

An example case:

  # create /mnt/file with 2 4K file extents
  # btrfs fi defrag /mnt/file
  # sync
  # filefrag /mnt/file
  /mnt/file: 2 extents found

So it's not defragmented.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
2011-10-20 18:10:37 +02:00
..
acl.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2011-08-02 21:14:05 -10:00
async-thread.c
async-thread.h
btrfs_inode.h Btrfs: calculate checksum space correctly 2011-10-19 15:12:31 -04:00
compat.h
compression.c Btrfs: check the nodatasum flag when writing compressed files 2011-08-01 14:30:46 -04:00
compression.h
ctree.c Btrfs: remove lockdep magic from btrfs_next_leaf 2011-07-27 12:46:47 -04:00
ctree.h Btrfs: seperate out btrfs_block_rsv_check out into 2 different functions 2011-10-19 15:12:59 -04:00
delayed-inode.c Btrfs: switch the btrfs tree locks to reader/writer 2011-07-27 12:46:46 -04:00
delayed-inode.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
delayed-ref.c
delayed-ref.h
dir-item.c Btrfs: remove redundant code for dir item lookup 2011-08-01 14:30:48 -04:00
disk-io.c Btrfs: allow us to overcommit our enospc reservations 2011-10-19 15:12:50 -04:00
disk-io.h Btrfs: make a lockdep class for each root 2011-07-27 12:46:46 -04:00
export.c
export.h
extent-tree.c Btrfs: if we have a lot of pinned space, commit the transaction 2011-10-19 15:13:00 -04:00
extent_io.c Btrfs: introduce convert_extent_bit 2011-10-19 15:12:47 -04:00
extent_io.h Btrfs: stop using write_one_page 2011-10-19 15:12:48 -04:00
extent_map.c Btrfs: clean up code for merging extent maps 2011-08-01 14:30:50 -04:00
extent_map.h
file-item.c Btrfs: skip locking if searching the commit root in csum lookup 2011-09-11 10:52:24 -04:00
file.c Btrfs: use the inode's mapping mask for allocating pages 2011-10-19 15:12:45 -04:00
free-space-cache.c Btrfs: don't flush the cache inode before writing it 2011-10-19 15:13:01 -04:00
free-space-cache.h
hash.h
inode-item.c
inode-map.c Btrfs: handle enospc accounting for free space inodes 2011-10-19 15:12:42 -04:00
inode-map.h
inode.c Btrfs: seperate out btrfs_block_rsv_check out into 2 different functions 2011-10-19 15:12:59 -04:00
ioctl.c Btrfs: fix wrong max_to_defrag in btrfs_defrag_file() 2011-10-20 18:10:37 +02:00
ioctl.h
Kconfig
locking.c Btrfs: switch the btrfs tree locks to reader/writer 2011-07-27 12:46:46 -04:00
locking.h Btrfs: switch the btrfs tree locks to reader/writer 2011-07-27 12:46:46 -04:00
lzo.c
Makefile Btrfs: make acl functions really no-op if acl is not enabled 2011-08-01 14:30:48 -04:00
ordered-data.c
ordered-data.h
orphan.c
print-tree.c
print-tree.h
relocation.c btrfs: check file extent backref offset underflow 2011-10-20 18:10:31 +02:00
root-tree.c btrfs: make btrfs_set_root_node void 2011-08-01 14:30:44 -04:00
scrub.c btrfs: remove unneeded includes from scrub.c 2011-06-10 14:59:52 +02:00
struct-funcs.c Btrfs: stop using highmem for extent_buffers 2011-07-27 12:46:45 -04:00
super.c Btrfs: introduce mount option no_space_cache 2011-10-19 15:12:51 -04:00
sysfs.c btrfs: Remove unused sysfs code 2011-06-17 14:54:18 -04:00
transaction.c Btrfs: seperate out btrfs_block_rsv_check out into 2 different functions 2011-10-19 15:12:59 -04:00
transaction.h
tree-defrag.c
tree-log.c Btrfs: fix an oops of log replay 2011-08-16 21:09:15 -04:00
tree-log.h
version.h
volumes.c Btrfs: allow us to overcommit our enospc reservations 2011-10-19 15:12:50 -04:00
volumes.h Btrfs: detect wether a device supports discard 2011-08-16 21:09:15 -04:00
xattr.c Btrfs: fix regression in re-setting a large xattr 2011-10-19 15:12:56 -04:00
xattr.h
zlib.c