aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/disk-io.c
Commit message (Collapse)AuthorAge
* Btrfs: Add block group pinned accounting backYan2008-09-25
| | | | | | | | | This patch adds a helper function 'update_pinned_extents' to extent-tree.c. The usage of the helper function is similar to 'update_block_group', the last parameter of the function indicates pin vs unpin. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Use writepages for the metadata tooChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Fix PAGE_CACHE_SHIFT shifts on 32 bit machinesChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Properly setup root key while reading the rootYan Zheng2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add back file data checksummingChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: balance_dirty_pages_ratelimited is causing problems, use nr == 1 alwaysChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add back metadata checksummingChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: extent_map optimizations to cut down on CPU usageChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add an extent buffer LRU to reduce radix tree hitsChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add back the online defragging codeChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Use an array of pages in the extent buffers to reduce the cost of ↵Chris Mason2008-09-25
| | | | | | find_get_page Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Allow tree blocks larger than the page sizeChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Change the remaining radix trees used by extent-tree.c to extent_map ↵Chris Mason2008-09-25
| | | | | | trees Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Stop using radix trees for the block group cacheChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Fix extent_buffer and extent_state leaksChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Avoid memcpy where possible in extent_buffersChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Create extent_buffer interface for large blocksizesChris Mason2008-09-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Use balance_dirty_pages_nr on btree blocksChris Mason2008-09-25
| | | | | | | | btrfs_btree_balance_dirty is changed to pass the number of pages dirtied for more accurate dirty throttling. This lets the VM make better decisions about when to force some writeback. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Find and remove dead roots the first time a root is loaded.Chris Mason2007-09-11
| | | | | | | | | | | | | | Dead roots are trees left over after a crash, and they were either in the process of being removed or were waiting to be removed when the box crashed. Before, a search of the entire tree of root pointers was done on mount looking for dead roots. Now, the search is done the first time we load a root. This makes mount faster when there are a large number of snapshots, and it enables the block accounting code to properly update the block counts on the latest root as old versions of the root are reaped after a crash. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add more synchronization before creating a snapshotChris Mason2007-09-10
| | | | | | | | File data checksums are only done during writepage, so we have to make sure all pages are written when the snapshot is taken. This also adds some locking so that new writes don't race in and add new dirty pages. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add per-root block accounting and sysfs entriesJosef Bacik2007-08-29
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: delay commits during fsync to allow more writersJosef Bacik2007-08-10
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Replace extent tree preallocation code with some bit radix magic.Chris Mason2007-08-08
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add run time btree defrag, and an ioctl to force btree defragChris Mason2007-08-07
| | | | | | | | | | | 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>
* Btrfs: trivial include fixupsZach Brown2007-07-11
| | | | | | | | | | | 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>
* Btrfs: crash recovery fixesChris Mason2007-06-28
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Fix super block updates during transaction commitChris Mason2007-06-26
| | | | | | | | 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>
* Btrfs: Add the ability to find and remove dead roots after a crash.Chris Mason2007-06-22
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Audit callers and return codes to make sure -ENOSPC gets up the stackChris Mason2007-06-22
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Switch to libcrc32c to avoid problems with cryptomgr on highmem machinesChris Mason2007-06-22
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Subject: Rework btrfs_file_write to only allocate while page locks are heldChris Mason2007-06-18
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: patch queue: page_mkwriteChris Mason2007-06-15
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: i386 fixes from axboeChris Mason2007-06-12
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: add GPLv2Chris Mason2007-06-12
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: printk fixesChris Mason2007-06-12
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: split up super.cChris Mason2007-06-12
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: remove device treeChris Mason2007-06-09
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: get forced transaction commits via workqueueChris Mason2007-06-08
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: add compat ioctlChris Mason2007-06-08
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: 2.6.21-git fixesChris Mason2007-05-21
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: allocator optimizations, truncate readaheadChris Mason2007-05-18
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: switch to crc32c instead of sha256Chris Mason2007-05-10
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: many allocator fixes, pretty solidChris Mason2007-05-09
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: more allocator enhancementsChris Mason2007-05-06
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: fix page cache memory leakChris Mason2007-05-02
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: directory readaheadChris Mason2007-05-01
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: allocator tweaksChris Mason2007-04-27
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: more block allocator workChris Mason2007-04-27
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: start of block group codeChris Mason2007-04-26
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: change around extent-tree preallocChris Mason2007-04-25
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>