[PATCH] btrfs/150: add _scratch_dev_pool_get/put to run the test as expected

2018-02-19 Thread Misono, Tomohiro
btrfs/150 uses RAID1 profile and make SCRATCH_DEV fail for test. However, if SCRATCH_DEV_POOL consists more than two devices, SCRATCH_DEV may not be used for RAID1 pair and the tests may not run as expected. Fix this by add _scratch_dev_pool_get/put like other tests (141, 143 etc.) do.

Re: fatal database corruption with btrfs "out of space" with ~50 GB left

2018-02-19 Thread Tomasz Chmielewski
On 2018-02-19 13:29, Anand Jain wrote: On 02/14/2018 10:19 PM, Tomasz Chmielewski wrote: Just FYI, how dangerous running btrfs can be - we had a fatal, unrecoverable MySQL corruption when btrfs decided to do one of these "I have ~50 GB left, so let's do out of space (and corrupt some files at

Re: [PATCH] btrfs: remove unused function btrfs_async_submit_limit()

2018-02-19 Thread David Sterba
On Thu, Feb 15, 2018 at 10:29:10AM +0200, Nikolay Borisov wrote: > On 15.02.2018 05:36, Anand Jain wrote: > > Commit [1] removed the need to use btrfs_async_submit_limit(), so > > delete it. > > > > [1] > > commit 736cd52e0c720103f52ab9da47b6cc3af6b083f6 > > Btrfs: remove nr_async_submits and

Re: [PATCH v2] btrfs: cow_file_range() num_bytes and disk_num_bytes are same

2018-02-19 Thread David Sterba
On Thu, Feb 15, 2018 at 10:38:00AM +0200, Nikolay Borisov wrote: > > > On 15.02.2018 06:29, Anand Jain wrote: > > This patch deletes local variable disk_num_bytes as its value > > is same as num_bytes in the function cow_file_range(). > > > > Signed-off-by: Anand Jain >

Re: [PATCH v2] btrfs: use ASSERT to report logical error in cow_file_range()

2018-02-19 Thread David Sterba
On Thu, Feb 15, 2018 at 06:07:59PM +0800, Anand Jain wrote: > Use ASSERT to report logical error in cow_file_range(), also move > it a bit closer to when the num_bytes is derived. > > Signed-off-by: Anand Jain > --- > v1->v2: >ASSERT logic changed. Thanks Nikolay. > >

Re: [PATCH v2] lockdep: Fix fs_reclaim warning.

2018-02-19 Thread Tetsuo Handa
Peter, are you OK with this patch? Tetsuo Handa wrote: > From 361d37a7d36978020dfb4c11ec1f4800937ccb68 Mon Sep 17 00:00:00 2001 > From: Tetsuo Handa > Date: Thu, 8 Feb 2018 10:35:35 +0900 > Subject: [PATCH v2] lockdep: Fix fs_reclaim warning. > > Dave Jones

Re: [PATCH] btrfs: use kvzalloc to allocate btrfs_fs_info

2018-02-19 Thread Nikolay Borisov
On 19.02.2018 17:33, David Sterba wrote: > On Thu, Feb 15, 2018 at 10:59:47PM -0500, je...@suse.com wrote: >> From: Jeff Mahoney >> >> The srcu_struct in btrfs_fs_infoa scales in size with NR_CPUS. On >> kernels built with NR_CPUS=8192, this can result in kmalloc failures >>

[PATCH 2/2] btrfs: add more __cold annotations

2018-02-19 Thread David Sterba
The __cold functions are placed to a special section, as they're expected to be called rarely. This could help i-cache prefetches or help compiler to decide which branches are more/less likely to be taken without any other annotations needed. Though we can't add more __exit annotations, it's

[PATCH 1/2] btrfs: add (the only possible) __exit annotation

2018-02-19 Thread David Sterba
Recently, the __init annotations have been added. There's unfortunatelly only one case where we can add __exit, because most of the cleanup helpers are also called from the __init phase. As the __exit annotated functions get discarded completely for a built-in code, we'd miss them from the init

[PATCH 0/2] Function annotations

2018-02-19 Thread David Sterba
Add some more annotations, inspired by the __init. The 2nd patches gives roughly -800 delta in object size, but nothing too significant. textdata bss dec hex filename 1238987 75977 18520 1333484 1458ec pre/btrfs.ko 1238199 75977 18520 1332696 1455d8 post/btrfs.ko

Re: [PATCH] btrfs: use kvzalloc to allocate btrfs_fs_info

2018-02-19 Thread David Sterba
On Thu, Feb 15, 2018 at 10:59:47PM -0500, je...@suse.com wrote: > From: Jeff Mahoney > > The srcu_struct in btrfs_fs_infoa scales in size with NR_CPUS. On > kernels built with NR_CPUS=8192, this can result in kmalloc failures > that prevent mounting. > > There is work in

Re: [PATCH RESEND] btrfs: delete function btrfs_close_extra_devices()

2018-02-19 Thread David Sterba
On Thu, Feb 15, 2018 at 01:02:24PM +0800, Anand Jain wrote: > btrfs_close_extra_devices() is not exactly about just closing the opened > devices, but its also about free-ing the stale devices which may have > scanned into the btrfs_fs_devices::dev_list. The way it picks devices to > be freed is by