aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs
Commit message (Collapse)AuthorAgeFilesLines
* Btrfs: [PATCH] extent_map: fix locking for bio completionChristoph Hellwig2007-09-101-6/+8
| | | | | | | | | | | | | The bio completion handlers can be run in any context, e.g. when using the old ide driver they run in hardirq context with irqs disabled so lockdep rightfully warns about using write_lock_irq useage in these handlers. This patch switches clear_extent_bit and set_extent_bit to write_lock_irqsave to fix this problem. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Chris Mason <chris.mason@oracle.com>
* [PATCH] btrfs: fix printk format warningChristoph Hellwig2007-09-101-1/+1
| | | | | Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Reorder tests in set_extent_bit to properly find holesChris Mason2007-09-101-22/+22
| | | | | | | | Yan Zheng noticed that set_extent_bit was exiting too early when there was a hole in the map. The fix is to reorder the tests to check for the hole first. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add more synchronization before creating a snapshotChris Mason2007-09-104-1/+13
| | | | | | | | 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>
* Add support for defragging files via btrfsctl -d. Avoid OOM on extent treeChris Mason2007-09-105-18/+100
| | | | | | defrag. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: remove extra drop_extent_cache callChris Mason2007-08-301-2/+0
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: fsx delalloc fixesChris Mason2007-08-303-174/+38
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add file data csums back in via hooks in the extent map codeChris Mason2007-08-303-14/+193
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Use mount -o subvol to select the subvol directory instead of dev:Chris Mason2007-08-292-10/+45
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Fix oopsen in extent_tree.c during enospcYan2007-08-291-3/+2
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add mount into directory supportYan2007-08-291-3/+120
| | | | | | | | | | Modified form of original patch from Christoph Hellwig to make btrfs mount into the default subvolume by default. mount /dev/somedevice:subvolumename to get other subvolumes or mount /dev/somedevice:. to get the root Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Fix mknod to properly send rdev info back to diskYan2007-08-291-0/+1
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: ctree.c cleanupsYan2007-08-291-6/+8
| | | | | | | Fixup a few buffer_head release errors, and fix an off by one in balance_node_right. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add per-root block accounting and sysfs entriesJosef Bacik2007-08-299-11/+393
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add delayed allocation to the extent based page tree codeChris Mason2007-08-276-135/+216
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Extent based page cache code. This uses an rbtree of extents and testsChris Mason2007-08-279-669/+2203
| | | | | | instead of buffer heads. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Make sure to cow the root during a snapshotChris Mason2007-08-271-0/+2
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Do more extensive readahead during tree searchesChris Mason2007-08-273-16/+52
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* fix block readahead in btrfs_next_leafYan2007-08-271-1/+1
| | | | | | Send the correct slot down to reada_for_search Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: delay commits during fsync to allow more writersJosef Bacik2007-08-107-16/+66
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add BH_Defrag to mark buffers that are in need of defraggingChris Mason2007-08-104-11/+18
| | | | | | | | This allows the tree walking code to defrag only the newly allocated buffers, it seems to be a good balance between perfect defragging and the performance hit of repeatedly reallocating blocks. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Btree defrag on the extent-mapping tree as wellChris Mason2007-08-108-79/+125
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Further reduce the concurrency penalty of defrag and drop_snapshotChris Mason2007-08-083-12/+11
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Replace extent tree preallocation code with some bit radix magic.Chris Mason2007-08-085-195/+49
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Let some locks go during defrag and snapshot droppingChris Mason2007-08-083-4/+14
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Add run time btree defrag, and an ioctl to force btree defragChris Mason2007-08-0711-89/+553
| | | | | | | | | | | 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: Fold some btree readahead routines into something more generic.Chris Mason2007-08-074-96/+81
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Do snapshot deletion in smaller chunks.Chris Mason2007-08-074-31/+91
| | | | | | | | | 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>
* Btrfs: cleaner make cleanJoel Becker2007-07-251-1/+1
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: deal with api changes in 2.6.23-rc1Chris Mason2007-07-252-26/+33
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Implement mknodJosef Bacik2007-07-111-6/+66
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Some code cleanupsAneesh2007-07-112-4/+8
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: trivial include fixupsZach Brown2007-07-1114-14/+1
| | | | | | | | | | | 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-288-48/+112
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Allow find_free_extent callers to pass in an exclusion rangeChris Mason2007-06-261-49/+30
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Fix super block updates during transaction commitChris Mason2007-06-265-14/+18
| | | | | | | | 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: Fix mtime and ctime updates on parent dirsChris Mason2007-06-251-1/+5
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Documentation updateChris Mason2007-06-223-13/+7
| | | | 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-227-32/+164
| | | | 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-2211-215/+410
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: Switch to libcrc32c to avoid problems with cryptomgr on highmem machinesChris Mason2007-06-223-29/+8
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: reada while dropping snapshotsChris Mason2007-06-191-1/+30
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: cache the extent tree preallocationChris Mason2007-06-191-2/+12
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Subject: Rework btrfs_file_write to only allocate while page locks are heldChris Mason2007-06-187-117/+161
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: patch queue: page_mkwriteChris Mason2007-06-155-159/+328
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* btrfs: Code cleanupAneesh2007-06-138-21/+2
| | | | | | | | | | | 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>
* Btrfs: i386 fixes from axboeChris Mason2007-06-125-5/+59
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: add GPLv2Chris Mason2007-06-1226-1/+788
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: no slashes in subvolume namesChris Mason2007-06-121-0/+2
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: printk fixesChris Mason2007-06-125-35/+29
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>