Chris Mason [Tue, 7 Aug 2007 20:15:09 +0000 (16:15 -0400)]
Btrfs: Add run time btree defrag, and an ioctl to force btree defrag
This adds two types of btree defrag, a run time form that tries to
defrag recently allocated blocks in the btree when they are still in ram,
and an ioctl that forces defrag of all btree blocks.
File data blocks are not defragged yet, but this can make a huge difference
in sequential btree reads.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 7 Aug 2007 19:52:22 +0000 (15:52 -0400)]
Btrfs: Fold some btree readahead routines into something more generic.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 7 Aug 2007 19:52:19 +0000 (15:52 -0400)]
Btrfs: Do snapshot deletion in smaller chunks.
Before, snapshot deletion was a single atomic unit. This caused considerable
lock contention and required an unbounded amount of space. Now,
the drop_progress field in the root item is used to indicate how far along
snapshot deletion is, and to resume where it left off.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Joel Becker [Wed, 25 Jul 2007 18:04:51 +0000 (14:04 -0400)]
Btrfs: cleaner make clean
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 25 Jul 2007 16:31:35 +0000 (12:31 -0400)]
Btrfs: deal with api changes in 2.6.23-rc1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Josef Bacik [Wed, 11 Jul 2007 14:18:17 +0000 (10:18 -0400)]
Btrfs: Implement mknod
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Aneesh [Wed, 11 Jul 2007 14:03:27 +0000 (10:03 -0400)]
Btrfs: Some code cleanups
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Zach Brown [Wed, 11 Jul 2007 14:00:37 +0000 (10:00 -0400)]
Btrfs: trivial include fixups
Almost none of the files including module.h need to do so,
remove them.
Include sched.h in extent-tree.c to silence a warning about cond_resched()
being undeclared.
Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 28 Jun 2007 20:35:09 +0000 (16:35 -0400)]
Btrfs: Added tag v0.5 for changeset
080c0640a527
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 28 Jun 2007 19:57:36 +0000 (15:57 -0400)]
Btrfs: crash recovery fixes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 26 Jun 2007 16:20:46 +0000 (12:20 -0400)]
Btrfs: Allow find_free_extent callers to pass in an exclusion range
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 26 Jun 2007 14:06:50 +0000 (10:06 -0400)]
Btrfs: Fix super block updates during transaction commit
The super block written during commit was not consistent with the state of
the trees. This change adds an in-memory copy of the super so that we can
make sure to write out consistent data during a commit.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Mon, 25 Jun 2007 14:09:33 +0000 (10:09 -0400)]
Btrfs: Fix mtime and ctime updates on parent dirs
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 22 Jun 2007 18:50:30 +0000 (14:50 -0400)]
Btrfs: Added tag v0.4 for changeset
d4bf0a71f074
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 22 Jun 2007 18:49:31 +0000 (14:49 -0400)]
Btrfs: Documentation update
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 22 Jun 2007 18:16:25 +0000 (14:16 -0400)]
Btrfs: Add the ability to find and remove dead roots after a crash.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 22 Jun 2007 18:16:25 +0000 (14:16 -0400)]
Btrfs: Audit callers and return codes to make sure -ENOSPC gets up the stack
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 22 Jun 2007 18:16:24 +0000 (14:16 -0400)]
Btrfs: Switch to libcrc32c to avoid problems with cryptomgr on highmem machines
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 19 Jun 2007 20:23:05 +0000 (16:23 -0400)]
Btrfs: reada while dropping snapshots
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 19 Jun 2007 19:50:51 +0000 (15:50 -0400)]
Btrfs: cache the extent tree preallocation
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Mon, 18 Jun 2007 14:32:44 +0000 (10:32 -0400)]
Btrfs: Added tag v0.3 for changeset
edfcc0faa35c
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Mon, 18 Jun 2007 13:57:58 +0000 (09:57 -0400)]
Subject: Rework btrfs_file_write to only allocate while page locks are held
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 15 Jun 2007 17:50:00 +0000 (13:50 -0400)]
Btrfs: patch queue: page_mkwrite
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Aneesh [Wed, 13 Jun 2007 20:18:26 +0000 (16:18 -0400)]
btrfs: Code cleanup
Attaching below is some of the code cleanups that i came across while
reading the code.
a) alloc_path already calls init_path.
b) Mention that btrfs_inode is the in memory copy.Ext4 have ext4_inode_info as
the in memory copy ext4_inode as the disk copy
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 13 Jun 2007 15:53:31 +0000 (11:53 -0400)]
Btrfs: Added tag v0.2 for changeset
8edac0ff7fb5
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 12 Jun 2007 15:36:58 +0000 (11:36 -0400)]
Btrfs: i386 fixes from axboe
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 12 Jun 2007 13:07:21 +0000 (09:07 -0400)]
Btrfs: add GPLv2
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 12 Jun 2007 12:21:35 +0000 (08:21 -0400)]
Btrfs: no slashes in subvolume names
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 12 Jun 2007 11:50:13 +0000 (07:50 -0400)]
Btrfs: printk fixes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 12 Jun 2007 11:43:08 +0000 (07:43 -0400)]
Btrfs: 64 bit div fixes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 12 Jun 2007 10:35:45 +0000 (06:35 -0400)]
Btrfs: split up super.c
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 12 Jun 2007 01:33:38 +0000 (21:33 -0400)]
Btrfs: fix oops after block group lookup
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Sat, 9 Jun 2007 13:22:25 +0000 (09:22 -0400)]
Btrfs: remove device tree
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Sat, 9 Jun 2007 12:19:57 +0000 (08:19 -0400)]
Btrfs: reap dead roots right after commit
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 8 Jun 2007 22:11:48 +0000 (18:11 -0400)]
Btrfs: get forced transaction commits via workqueue
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 8 Jun 2007 19:33:54 +0000 (15:33 -0400)]
Btrfs: add compat ioctl
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 8 Jun 2007 02:13:21 +0000 (22:13 -0400)]
Btrfs: d_type optimization
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 30 May 2007 14:22:12 +0000 (10:22 -0400)]
Btrfs: use a separate flag for search_start vs a hint in find_free_extent
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 29 May 2007 20:52:18 +0000 (16:52 -0400)]
Btrfs: block group switching
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 29 May 2007 19:17:08 +0000 (15:17 -0400)]
Btrfs: fixup various fsx failures
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 24 May 2007 17:35:57 +0000 (13:35 -0400)]
Btrfs: sparse files!
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 24 May 2007 12:34:10 +0000 (08:34 -0400)]
Btrfs: symlinks and hard links
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 23 May 2007 19:44:28 +0000 (15:44 -0400)]
Btrfs: rename
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Mon, 21 May 2007 18:05:12 +0000 (14:05 -0400)]
Btrfs: 2.6.21-git fixes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 18 May 2007 17:28:27 +0000 (13:28 -0400)]
Btrfs: allocator optimizations, truncate readahead
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 11 May 2007 15:33:21 +0000 (11:33 -0400)]
Btrfs: patch queue: fix corruption when splitting large items
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 10 May 2007 16:36:17 +0000 (12:36 -0400)]
Btrfs: switch to crc32c instead of sha256
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 10 May 2007 15:24:42 +0000 (11:24 -0400)]
Btrfs: fix check_node and check_leaf to use less cpu
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 10 May 2007 00:13:14 +0000 (20:13 -0400)]
Btrfs: many allocator fixes, pretty solid
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 8 May 2007 00:03:49 +0000 (20:03 -0400)]
Btrfs: allocator and tuning
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Sun, 6 May 2007 14:15:01 +0000 (10:15 -0400)]
Btrfs: more allocator enhancements
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 3 May 2007 13:06:49 +0000 (09:06 -0400)]
Btrfs: early metadata/data split
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 2 May 2007 19:53:43 +0000 (15:53 -0400)]
Btrfs: fix page cache memory leak
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 1 May 2007 12:53:32 +0000 (08:53 -0400)]
Btrfs: directory readahead
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Mon, 30 Apr 2007 19:25:45 +0000 (15:25 -0400)]
Btrfs: allocator improvements, inode block groups
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Sat, 28 Apr 2007 19:17:08 +0000 (15:17 -0400)]
Btrfs: prealloc more blocks for the extent map
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Sat, 28 Apr 2007 13:29:35 +0000 (09:29 -0400)]
Btrfs: smarter transaction writeback
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Sat, 28 Apr 2007 12:48:10 +0000 (08:48 -0400)]
Btrfs: try to drop dead cow pages from ram
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 27 Apr 2007 15:42:05 +0000 (11:42 -0400)]
Btrfs: allocator tweaks
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 27 Apr 2007 14:08:34 +0000 (10:08 -0400)]
Btrfs: more block allocator work
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 26 Apr 2007 20:46:15 +0000 (16:46 -0400)]
Btrfs: start of block group code
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 25 Apr 2007 19:52:25 +0000 (15:52 -0400)]
Btrfs: change around extent-tree prealloc
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 24 Apr 2007 16:44:26 +0000 (12:44 -0400)]
Btrfs: fixup dirty_inode related deadlocks
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 24 Apr 2007 16:07:39 +0000 (12:07 -0400)]
Btrfs: get rid of the extent_item type field
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 24 Apr 2007 15:52:22 +0000 (11:52 -0400)]
Btrfs: add dirty_inode call
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Mon, 23 Apr 2007 23:10:49 +0000 (19:10 -0400)]
Btrfs: new subvolume oops fix
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Mon, 23 Apr 2007 21:01:05 +0000 (17:01 -0400)]
Btrfs: fix extent owner/type setting on extent tree blocks
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Sat, 21 Apr 2007 00:23:12 +0000 (20:23 -0400)]
Btrfs: add owner and type fields to the extents aand block headers
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 20 Apr 2007 17:48:57 +0000 (13:48 -0400)]
Btrfs: node balance optimizations
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 20 Apr 2007 17:16:02 +0000 (13:16 -0400)]
Btrfs: write barriers on commit, balance level before split
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 20 Apr 2007 01:01:03 +0000 (21:01 -0400)]
Btrfs: early fsync support
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 19 Apr 2007 19:36:27 +0000 (15:36 -0400)]
Btrfs: directory inode index is back
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 19 Apr 2007 17:37:44 +0000 (13:37 -0400)]
Btrfs: many file_write fixes, inline data
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 18 Apr 2007 20:15:28 +0000 (16:15 -0400)]
Btrfs: working file_write, reorganized key flags
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 17 Apr 2007 19:39:32 +0000 (15:39 -0400)]
Btrfs: rework csums and extent item ordering
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 17 Apr 2007 17:26:50 +0000 (13:26 -0400)]
Btrfs: progress on file_write
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Mon, 16 Apr 2007 13:22:45 +0000 (09:22 -0400)]
Btrfs: early work to file_write in big extents
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 12 Apr 2007 16:14:00 +0000 (12:14 -0400)]
Btrfs: add a device id to device items
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 12 Apr 2007 14:43:05 +0000 (10:43 -0400)]
Btrfs: add disk ioctl, mostly working
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 11 Apr 2007 19:53:25 +0000 (15:53 -0400)]
Btrfs: create a logical->phsyical block number mapping scheme
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 11 Apr 2007 17:57:44 +0000 (13:57 -0400)]
Btrfs: early support for multiple devices
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 11 Apr 2007 12:59:20 +0000 (08:59 -0400)]
Btrfs: use a dedicated inode num for root root dir
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 11 Apr 2007 00:07:20 +0000 (20:07 -0400)]
Btrfs: detect duplicate subvol names
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 10 Apr 2007 20:58:11 +0000 (16:58 -0400)]
Btrfs: subvolumes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 10 Apr 2007 18:22:02 +0000 (14:22 -0400)]
Btrfs: when forced to cow for file_write, get the page uptodate first
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 10 Apr 2007 17:51:41 +0000 (13:51 -0400)]
Btrfs: only cow in get_block when create==1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 10 Apr 2007 17:20:21 +0000 (13:20 -0400)]
Btrfs: cow file extents before writing
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 10 Apr 2007 16:36:36 +0000 (12:36 -0400)]
Btrfs: drop owner and parentid
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 10 Apr 2007 16:13:09 +0000 (12:13 -0400)]
Btrfs: drop the inode map tree
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Tue, 10 Apr 2007 13:27:04 +0000 (09:27 -0400)]
Btrfs: snapshot progress
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Mon, 9 Apr 2007 14:42:37 +0000 (10:42 -0400)]
Btrfs: groundwork for subvolume and snapshot roots
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Fri, 6 Apr 2007 19:37:36 +0000 (15:37 -0400)]
Btrfs: start of support for many FS volumes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 5 Apr 2007 18:28:50 +0000 (14:28 -0400)]
Btrfs: uuids
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 5 Apr 2007 17:35:25 +0000 (13:35 -0400)]
Btrfs: dirindex optimizations
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 5 Apr 2007 16:13:21 +0000 (12:13 -0400)]
Btrfs: finish off inode indexing in dirs, add overflows
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 5 Apr 2007 14:38:44 +0000 (10:38 -0400)]
Btrfs: more inode indexed directory work
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Thu, 5 Apr 2007 01:22:22 +0000 (21:22 -0400)]
Btrfs: add dir inode index
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 4 Apr 2007 19:27:52 +0000 (15:27 -0400)]
Btrfs: tweak the inode-map and free extent search starts on cold mount
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 4 Apr 2007 18:30:09 +0000 (14:30 -0400)]
Btrfs: disable inline data code for now
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason [Wed, 4 Apr 2007 18:08:15 +0000 (14:08 -0400)]
Btrfs: support for items bigger than 1/2 the blocksize
Signed-off-by: Chris Mason <chris.mason@oracle.com>