Re: [PATCH 0/7] Let user specify the kernel version for features

2016-02-03 Thread David Sterba
Going back to this discussion, On Mon, Nov 30, 2015 at 01:46:15PM +0800, Qu Wenruo wrote: > To be honest, how many guys really unhappy with current default features > behavior *except* you? Me too. Anand's summary matches my view of how we should do it: ". Do it at run time for the running

Re: Question about a specific error.

2016-02-03 Thread Hugo Mills
On Wed, Feb 03, 2016 at 02:17:06PM -0700, Chris Murphy wrote: > On Tue, Feb 2, 2016 at 6:00 AM, Austin S. Hemmelgarn > wrote: > > On 2016-02-01 15:21, Hugo Mills wrote: > >> > >> On Mon, Feb 01, 2016 at 02:44:24PM -0500, Austin S. Hemmelgarn wrote: > >>> > >>> In the process

[PATCH] Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl

2016-02-03 Thread fdmanana
From: Filipe Manana While doing some tests I ran into an hang on an extent buffer's rwlock that produced the following trace: [39389.800012] NMI watchdog: BUG: soft lockup - CPU#15 stuck for 22s! [fdm-stress:32166] [39389.800016] NMI watchdog: BUG: soft lockup - CPU#14 stuck

Re: booting from BTRFS works only with one device in the pool

2016-02-03 Thread Chris Murphy
On Wed, Feb 3, 2016 at 11:14 AM, Hendrik Friedel wrote: > Sorry, I missed this: >> What do you get for rpm -q grub2 > grub2-2.02-0.34.el7.centos.x86_64 > Weird. I was not able to reproduce the problem with CentOS 7.0 doing the following in virt-manager with two qcow2s

btrfs-progs and btrfs(8) inconsistencies

2016-02-03 Thread Moviuro
Hi all, I should have done this a long time ago, so here goes. Btrfs is certainly the best FS out there but btrfs(8) is a pain to use in scripts. That is, it talks way too much, exposes unparseable outputs and has inconsistent behavior. I strongly believe that the CLI may use a complete revamp,

Re: Question about a specific error.

2016-02-03 Thread Chris Murphy
On Tue, Feb 2, 2016 at 6:00 AM, Austin S. Hemmelgarn wrote: > On 2016-02-01 15:21, Hugo Mills wrote: >> >> On Mon, Feb 01, 2016 at 02:44:24PM -0500, Austin S. Hemmelgarn wrote: >>> >>> In the process of trying to debug issues I'm having on one of my >>> systems with a new

Re: booting from BTRFS works only with one device in the pool

2016-02-03 Thread Chris Murphy
On Wed, Feb 3, 2016 at 1:30 PM, Chris Murphy wrote: > On Wed, Feb 3, 2016 at 11:14 AM, Hendrik Friedel > wrote: >> Sorry, I missed this: >>> What do you get for rpm -q grub2 >> grub2-2.02-0.34.el7.centos.x86_64 >> > > Weird. I was not able to

Re: [PATCH] Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl

2016-02-03 Thread Liu Bo
On Wed, Feb 03, 2016 at 08:26:50PM +, fdman...@kernel.org wrote: > From: Filipe Manana > > While doing some tests I ran into an hang on an extent buffer's rwlock > that produced the following trace: > > [39389.800012] NMI watchdog: BUG: soft lockup - CPU#15 stuck for 22s!

Re: [PATCH] Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl

2016-02-03 Thread Filipe Manana
On Wed, Feb 3, 2016 at 11:19 PM, Liu Bo wrote: > On Wed, Feb 03, 2016 at 08:26:50PM +, fdman...@kernel.org wrote: >> From: Filipe Manana >> >> While doing some tests I ran into an hang on an extent buffer's rwlock >> that produced the following trace:

Re: [PATCH] Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl

2016-02-03 Thread Liu Bo
On Thu, Feb 04, 2016 at 12:23:12AM +, Filipe Manana wrote: > On Thu, Feb 4, 2016 at 12:20 AM, Liu Bo wrote: > > On Wed, Feb 03, 2016 at 11:24:33PM +, Filipe Manana wrote: > >> On Wed, Feb 3, 2016 at 11:19 PM, Liu Bo wrote: > >> > On Wed, Feb

Re: [PATCH] Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl

2016-02-03 Thread Chris Mason
On Wed, Feb 03, 2016 at 11:24:33PM +, Filipe Manana wrote: > On Wed, Feb 3, 2016 at 11:19 PM, Liu Bo wrote: > > On Wed, Feb 03, 2016 at 08:26:50PM +, fdman...@kernel.org wrote: > >> So fix this by avoiding doing the nested read lock, which is easily > >> avoidable.

[PATCH] fstests: btrfs, test for send with clone operations

2016-02-03 Thread fdmanana
From: Filipe Manana Test that an incremental send operation which issues clone operations works for files that have a full path containing more than one parent directory component. This used to fail before the following patch for the linux kernel: "[PATCH] Btrfs: send, fix

Re: [PATCH] Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl

2016-02-03 Thread Filipe Manana
On Thu, Feb 4, 2016 at 12:28 AM, Liu Bo wrote: > On Thu, Feb 04, 2016 at 12:23:12AM +, Filipe Manana wrote: >> On Thu, Feb 4, 2016 at 12:20 AM, Liu Bo wrote: >> > On Wed, Feb 03, 2016 at 11:24:33PM +, Filipe Manana wrote: >> >> On Wed, Feb 3,

Re: [PATCH] Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl

2016-02-03 Thread Filipe Manana
On Thu, Feb 4, 2016 at 12:20 AM, Liu Bo wrote: > On Wed, Feb 03, 2016 at 11:24:33PM +, Filipe Manana wrote: >> On Wed, Feb 3, 2016 at 11:19 PM, Liu Bo wrote: >> > On Wed, Feb 03, 2016 at 08:26:50PM +, fdman...@kernel.org wrote: >> >> From:

Re: [PATCH 0/7] Let user specify the kernel version for features

2016-02-03 Thread Chris Mason
On Wed, Feb 03, 2016 at 11:50:38AM +0100, David Sterba wrote: > Going back to this discussion, > > On Mon, Nov 30, 2015 at 01:46:15PM +0800, Qu Wenruo wrote: > > To be honest, how many guys really unhappy with current default features > > behavior *except* you? > > Me too. > > Anand's summary

Re: [PATCH 0/7] Let user specify the kernel version for features

2016-02-03 Thread Qu Wenruo
David Sterba wrote on 2016/02/03 11:50 +0100: Going back to this discussion, On Mon, Nov 30, 2015 at 01:46:15PM +0800, Qu Wenruo wrote: To be honest, how many guys really unhappy with current default features behavior *except* you? Me too. Anand's summary matches my view of how we should

RE: btrfs partition spontaneously corrupted - No recovery options. Kernel oops / "Kernel Bug"?

2016-02-03 Thread Dion Gullotta
Hi Qu, thanks so much for your fast reply. I'm running this right now and hoping for some good results: root@odin:/var/readynasd# btrfs rescue chunk-recover -vy /dev/md127 All Devices: Device: id = 1, name = /dev/md127 You said " Other idea including try to use backup roots manually"

[PATCH] btrfs-progs: Fix self-reference of man btrfs-subvolume

2016-02-03 Thread Satoru Takeuchi
btrfs-subvolume(8) is mentioned at "SEE ALSO" section of itself. Signed-off-by: Satoru Takeuchi --- Documentation/btrfs-subvolume.asciidoc | 1 - 1 file changed, 1 deletion(-) diff --git a/Documentation/btrfs-subvolume.asciidoc

Re: btrfs partition spontaneously corrupted - No recovery options. Kernel oops / "Kernel Bug"?

2016-02-03 Thread Qu Wenruo
Dion Gullotta wrote on 2016/02/04 12:53 +1100: Hi Qu, thanks so much for your fast reply. I'm running this right now and hoping for some good results: root@odin:/var/readynasd# btrfs rescue chunk-recover -vy /dev/md127 All Devices: Device: id = 1, name = /dev/md127 You said "

btrfs partition spontaneously corrupted - No recovery options. Kernel oops / "Kernel Bug"?

2016-02-03 Thread Dion Gullotta
Hi, We have a btrfs partition that was working fine up until last night whereupon it stopped working. The first thing I tried was rebooting the server, which got stuck on a hung mount process. I've tried every diagnostic and recovery option I can find online and nothing is working. We did

Re: btrfs partition spontaneously corrupted - No recovery options. Kernel oops / "Kernel Bug"?

2016-02-03 Thread Qu Wenruo
Dion Gullotta wrote on 2016/02/04 12:28 +1100: Hi, We have a btrfs partition that was working fine up until last night whereupon it stopped working. The first thing I tried was rebooting the server, which got stuck on a hung mount process. I've tried every diagnostic and recovery option I

[PATCH] Btrfs: send, fix extent buffer tree lock assertion failure (BUG_ON)

2016-02-03 Thread fdmanana
From: Filipe Manana When the send stream issues a clone operation using a root that is not the send root, we can hit a BUG_ON() if the file's path consists of more than one parent directory and the inodes of all the directories in the path span at least 2 different leafs in

Re: [PATCH] Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl

2016-02-03 Thread Liu Bo
On Wed, Feb 03, 2016 at 11:24:33PM +, Filipe Manana wrote: > On Wed, Feb 3, 2016 at 11:19 PM, Liu Bo wrote: > > On Wed, Feb 03, 2016 at 08:26:50PM +, fdman...@kernel.org wrote: > >> From: Filipe Manana > >> > >> While doing some tests I ran into

[PATCH V14 08/15] Btrfs: subpagesize-blocksize: Deal with partial ordered extent allocations.

2016-02-03 Thread Chandan Rajendra
In subpagesize-blocksize scenario, extent allocations for only some of the dirty blocks of a page can succeed, while allocation for rest of the blocks can fail. This patch allows I/O against such pages to be submitted. Signed-off-by: Chandan Rajendra ---

[PATCH V14 04/15] Btrfs: subpagesize-blocksize: Define extent_buffer_head.

2016-02-03 Thread Chandan Rajendra
In order to handle multiple extent buffers per page, first we need to create a way to handle all the extent buffers that are attached to a page. This patch creates a new data structure 'struct extent_buffer_head', and moves fields that are common to all extent buffers from 'struct extent buffer'

[PATCH V14 01/15] Btrfs: subpagesize-blocksize: Fix whole page read.

2016-02-03 Thread Chandan Rajendra
For the subpagesize-blocksize scenario, a page can contain multiple blocks. In such cases, this patch handles reading data from files. To track the status of individual blocks of a page, this patch makes use of a bitmap pointed to by page->private. Signed-off-by: Chandan Rajendra

[PATCH V14 03/15] Btrfs: subpagesize-blocksize: Make sure delalloc range intersects with the locked page's range

2016-02-03 Thread Chandan Rajendra
find_delalloc_range indirectly depends on EXTENT_UPTODDATE to make sure that the delalloc range returned intersects with the file range mapped by the page. Since we now track "uptodate" state in a per-page bitmap (i.e. in btrfs_page_private->bstate), this commit makes an explicit check to make

[PATCH V14 00/15] Btrfs: Subpagesize-blocksize: Allow I/O on blocks whose size is less than page size.

2016-02-03 Thread Chandan Rajendra
Btrfs assumes block size to be the same as the machine's page size. This would mean that a Btrfs instance created on a 4k page size machine (e.g. x86) will not be mountable on machines with larger page sizes (e.g. PPC64/AARCH64). This patchset aims to resolve this incompatibility. This patchset

[PATCH V14 02/15] Btrfs: subpagesize-blocksize: Fix whole page write

2016-02-03 Thread Chandan Rajendra
For the subpagesize-blocksize scenario, a page can contain multiple blocks. In such cases, this patch handles writing data to files. Also, When setting EXTENT_DELALLOC, we no longer set EXTENT_UPTODATE bit on the extent_io_tree since uptodate status is being tracked by the bitmap pointed to by

[PATCH V14 07/15] Btrfs: subpagesize-blocksize: Allow mounting filesystems where sectorsize != PAGE_SIZE

2016-02-03 Thread Chandan Rajendra
This patch allows mounting filesystems with blocksize smaller than the PAGE_SIZE. Signed-off-by: Chandan Rajendra --- fs/btrfs/disk-io.c | 10 +++--- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index

[PATCH V14 14/15] Btrfs: subpagesize-blocksize: extent_clear_unlock_delalloc: Prevent page from being unlocked more than once

2016-02-03 Thread Chandan Rajendra
extent_clear_unlock_delalloc() can unlock a page more than once as shown below (assume 4k as the block size and 64k as the page size). cow_file_range create 4k ordered extent corresponding to page offsets 0 - 4095 extent_clear_unlock_delalloc corresponding to page offsets 0 - 4095 unlock

[PATCH V14 13/15] Btrfs: subpagesize-blocksize: Fix file defragmentation code

2016-02-03 Thread Chandan Rajendra
This commit gets file defragmentation code to work in subpagesize-blocksize scenario. It does this by keeping track of page offsets that mark block boundaries and passing them as arguments to the functions that implement the defragmentation logic. Signed-off-by: Chandan Rajendra

[PATCH V14 09/15] Btrfs: subpagesize-blocksize: Explicitly track I/O status of blocks of an ordered extent.

2016-02-03 Thread Chandan Rajendra
In subpagesize-blocksize scenario a page can have more than one block. So in addition to PagePrivate2 flag, we would have to track the I/O status of each block of a page to reliably mark the ordered extent as complete. Signed-off-by: Chandan Rajendra ---

[PATCH V14 10/15] Btrfs: subpagesize-blocksize: btrfs_punch_hole: Fix uptodate blocks check

2016-02-03 Thread Chandan Rajendra
In case of subpagesize-blocksize, the file blocks to be punched may map only part of a page. For file blocks inside such pages, we need to check for the presence of BLK_STATE_UPTODATE flag. Signed-off-by: Chandan Rajendra --- fs/btrfs/file.c | 66

[PATCH V14 12/15] Revert "btrfs: fix lockups from btrfs_clear_path_blocking"

2016-02-03 Thread Chandan Rajendra
The patch "Btrfs: subpagesize-blocksize: Prevent writes to an extent buffer when PG_writeback flag is set" requires btrfs_try_tree_write_lock() to be a true try lock w.r.t to both spinning and blocking locks. During 2015's Vault Conference Btrfs meetup, Chris Mason had suggested that he will write

[PATCH V14 11/15] Btrfs: subpagesize-blocksize: Prevent writes to an extent buffer when PG_writeback flag is set.

2016-02-03 Thread Chandan Rajendra
In non-subpagesize-blocksize scenario, BTRFS_HEADER_FLAG_WRITTEN flag prevents Btrfs code from writing into an extent buffer whose pages are under writeback. This facility isn't sufficient for achieving the same in subpagesize-blocksize scenario, since we have more than one extent buffer mapped to

[PATCH V14 06/15] Btrfs: subpagesize-blocksize: Write only dirty extent buffers belonging to a page

2016-02-03 Thread Chandan Rajendra
For the subpagesize-blocksize scenario, this patch adds the ability to write a single extent buffer to the disk. Signed-off-by: Chandan Rajendra --- fs/btrfs/disk-io.c | 19 ++-- fs/btrfs/extent_io.c | 277 +-- 2

[PATCH V14 15/15] Btrfs: subpagesize-blocksize: Enable dedup ioctl

2016-02-03 Thread Chandan Rajendra
The function implementing the dedup ioctl i.e. btrfs_ioctl_file_extent_same(), returns with an error in subpagesize-blocksize scenario. This was done due to the fact that Btrfs did not have code to deal with block size < page size. This commit removes this restriction since we now support "block

[PATCH V14 05/15] Btrfs: subpagesize-blocksize: Read tree blocks whose size is < PAGE_SIZE.

2016-02-03 Thread Chandan Rajendra
In the case of subpagesize-blocksize, this patch makes it possible to read only a single metadata block from the disk instead of all the metadata blocks that map into a page. Signed-off-by: Chandan Rajendra --- fs/btrfs/disk-io.c | 62 +--

[PATCH] btrfs-progs: describe btrfs-send requires read-only subvolume

2016-02-03 Thread Satoru Takeuchi
Both man btrfs-send(8) and usage message don't describe btrfs-send needs read-only snapshot as its argument. Signed-off-by: Satoru Takeuchi --- Documentation/btrfs-send.asciidoc | 1 + cmds-send.c | 1 + 2 files changed, 2 insertions(+)

Re: booting from BTRFS works only with one device in the pool

2016-02-03 Thread Hendrik Friedel
Sorry, I missed this: > What do you get for rpm -q grub2 grub2-2.02-0.34.el7.centos.x86_64 Greetings, Hendrik --- Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft. https://www.avast.com/antivirus -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the