Re: Replacing drives with larger ones in a 4 drive raid1

2016-06-19 Thread boli
For completeness here's the summary of my replacement of all four 6 TB drives (henceforth "6T") with 8 TB drives ("8T") in a btrfs raid1 volume. I included transfer rates so maybe others can get a rough idea what to expect when doing similar things. All capacity units are SI, not base 2.

[PATCH] btrfs: fix WARNING in btrfs_select_ref_head()

2016-06-19 Thread Wang Xiaoguang
This issue was found when testing in-band dedupe enospc behaviour, sometimes run_one_delayed_ref() may fail for enospc reason, then __btrfs_run_delayed_refs()will return, but forget to add num_heads_read back, which will trigger "WARN_ON(delayed_refs->num_heads_ready == 0)" in

Adventures in btrfs raid5 disk recovery

2016-06-19 Thread Zygo Blaxell
Not so long ago, I had a disk fail in a btrfs filesystem with raid1 metadata and raid5 data. I mounted the filesystem readonly, replaced the failing disk, and attempted to recover by adding the new disk and deleting the missing disk. It's not going well so far. Pay attention, there are at least

[PATCH v2 00/24] Delete CURRENT_TIME and CURRENT_TIME_SEC macros

2016-06-19 Thread Deepa Dinamani
The series is aimed at getting rid of CURRENT_TIME and CURRENT_TIME_SEC macros. The macros are not y2038 safe. There is no plan to transition them into being y2038 safe. ktime_get_* api's can be used in their place. And, these are y2038 safe. Thanks to Arnd Bergmann for all the guidance and

[PATCH v2 08/24] fs: btrfs: Use ktime_get_real_ts for root ctime

2016-06-19 Thread Deepa Dinamani
btrfs_root_item maintains the ctime for root updates. This is not part of vfs_inode. Since current_time() uses struct inode* as an argument as Linus suggested, this cannot be used to update root times unless, we modify the signature to use inode. Since btrfs uses nanosecond time granularity, it