transforming RAID1 to RAID10

2010-09-21 Thread Marko Vendelin
Dear BTRFS developers, we would like to extend our FS storage by adding two more harddisks. At present, BTRFS is using two partitions and running in RAID1 mode. I would like to add two more harddisks (without partitioning them) as an additional RAID1 pair to extend the storage. In other words, we

Re: Performance degradation

2010-09-21 Thread Chris Mason
On Tue, Sep 21, 2010 at 12:27:03AM -0400, Dave Cundiff wrote: > On Mon, Sep 20, 2010 at 9:19 PM, K. Richard Pixley wrote: > > Do you have any kernel processes running constantly?  Any taking near 100% > > of a CPU? > > > > --rich > > > > Now that I look again, it seems that the btrfs-cleaner pro

[PATCH] Btrfs: fix clone ioctl where range is adjacent to extent

2010-09-21 Thread Yehuda Sadeh
We had an edge case issue where the requested range was just following an existing extent. Instead of skipping to the next extent, we used the previous one which lead to having zero sized extents. Signed-off-by: Yehuda Sadeh --- fs/btrfs/ioctl.c |2 +- 1 files changed, 1 insertions(+), 1 del

[PATCH v2] Btrfs: fix delalloc checks in clone ioctl

2010-09-21 Thread Yehuda Sadeh
This patch overrides a previous one posted, as it had the logic reverted and wrong. The lookup_first_ordered_extent() was done on the wrong inode, and the ->delalloc_bytes test was wrong, as the following btrfs_wait_ordered_range() would only invoke a range write and wouldn't write the entire file

[PATCH] Btrfs: create special free space cache inode FORMAT CHANGE V2

2010-09-21 Thread Josef Bacik
In order to save free space cache, we need an inode to hold the data, and we need a special item to point at the right inode for the right block group. So first, create a special item that will point to the right inode, and the number of extent entries we will have and the number of bitmaps we wil

[PATCH] Btrfs: Add a clear_cache mount option

2010-09-21 Thread Josef Bacik
If something goes wrong with the free space cache we need a way to make sure it's not loaded on mount and that it's cleared for everybody. When you pass the clear_cache option it will make it so all block groups are setup to be cleared, which keeps them from being loaded and then they will be trun