Add linux-ker...@vger.kernel.org.
Ping...
Thanks,
--Hongzhi
On 7/17/19 4:34 PM, Hongzhi, Song wrote:
Hi friends,
*Description:*
One LTP testcase, fs_fill.c, fails on btrfs with kernel error when
unlink files on Btrfs device:
"BTRFS warning (device loop0): could not allocate sp
On Mon, Nov 12, 2018 at 09:50:36AM +0200, Nikolay Borisov wrote:
> On 12.11.18 г. 6:58 ч., Anand Jain wrote:
> > The dev_replace_state defines are miss matched between the
> > BTRFS_IOCTL_DEV_REPLACE_STATE_* and BTRFS_DEV_REPLACE_ITEM_STATE_* [1].
> >
> > [1]
> > -
> >
Hi,
I was just looking at btrfs property and what it can do.
Now, I notice that the man page contains:
label: label of device
When I look at a device and ask what properties I can set, I see:
-# btrfs property list -t device /dev/xvdb
label Set/get label of device.
But, when I
On 8/2/19 5:42 PM, Hans van Kranenburg wrote:
Hi,
I was just looking at btrfs property and what it can do.
Now, I notice that the man page contains:
label: label of device
When I look at a device and ask what properties I can set, I see:
-# btrfs property list -t device /dev/xvdb
label
Sometimes when messing with the chunk allocator code we can end up
over-allocating chunks. Generally speaking I'll notice this when a
random xfstest fails with ENOSPC when it shouldn't, but I'm super
worried that I won't catch a problem until somebody has a fs completely
filled up with empty block
The part of link_block_group that just creates the sysfs object is
independent and can be factored out to a helper.
Signed-off-by: David Sterba
---
fs/btrfs/extent-tree.c | 18 ++
fs/btrfs/sysfs.c | 27 +++
fs/btrfs/sysfs.h | 1 +
3 files chan
As the header for sysfs code already exists, use it to clean up ctree.h.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.h | 13 -
fs/btrfs/super.c | 1 +
fs/btrfs/sysfs.h | 12
3 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/
The kobject should be pulled in via sysfs.h and that needs to include it
because it needs various definitions like kobj_attribute or kobject.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.h | 1 -
fs/btrfs/sysfs.c | 1 -
fs/btrfs/sysfs.h | 2 ++
3 files changed, 2 insertions(+), 2 deletions(-)
The helpers to create block group and space info directories already
live in sysfs.c, move the deletion part there too.
Signed-off-by: David Sterba
---
fs/btrfs/extent-tree.c | 14 +-
fs/btrfs/sysfs.c | 22 ++
fs/btrfs/sysfs.h | 1 +
3 files changed,
The function manipulates sysfs entries so this belongs to sysfs.c.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.h | 1 -
fs/btrfs/extent-tree.c | 27 ---
fs/btrfs/sysfs.c | 27 +++
fs/btrfs/sysfs.h | 1 +
4 files changed, 28 i
In order to unexport the feature type array, add a helper for the
enum-to-string conversion.
Signed-off-by: David Sterba
---
fs/btrfs/ioctl.c | 2 +-
fs/btrfs/sysfs.c | 7 ++-
fs/btrfs/sysfs.h | 2 +-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/
Signed-off-by: David Sterba
---
fs/btrfs/sysfs.c | 17 +
fs/btrfs/sysfs.h | 18 --
2 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
index e306e6e173cf..335450ad9d2d 100644
--- a/fs/btrfs/sysfs.c
+++ b/fs/btrfs/sys
The device uevent belongs to the sysfs API.
Signed-off-by: David Sterba
---
fs/btrfs/sysfs.c | 11 +++
fs/btrfs/sysfs.h | 1 +
fs/btrfs/volumes.c | 13 -
3 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
index 0d37403a47
The last non-sysfs usage of space_info_ktype has been moved to a private
helper in previous patch so the variable can be made static.
Signed-off-by: David Sterba
---
fs/btrfs/sysfs.c | 2 +-
fs/btrfs/sysfs.h | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/fs/btrfs/sysfs.c b/
Move creation of data/metadata/system space info directories to sysfs.c.
Signed-off-by: David Sterba
---
fs/btrfs/space-info.c | 25 ++---
fs/btrfs/sysfs.c | 37 +
fs/btrfs/sysfs.h | 2 ++
3 files changed, 41 insertions(+), 23 de
None of the macros is used outside of sysfs.c.
Signed-off-by: David Sterba
---
fs/btrfs/sysfs.c | 49 +++
fs/btrfs/sysfs.h | 50
2 files changed, 49 insertions(+), 50 deletions(-)
diff --git a/fs/btrfs/
Handful of almost trivial changes that clean up the sysfs structures and
helpers so the sysfs-related api is used only inside sysfs.c and that
the API facing btrfs is minimized.
David Sterba (13):
btrfs: move sysfs declarations out of ctree.h
btrfs: move btrfs_add_raid_kobjects to sysfs.c
bt
Wrap the fsid renaming code and move it to sysfs.c.
Signed-off-by: David Sterba
---
fs/btrfs/sysfs.c | 15 +++
fs/btrfs/sysfs.h | 2 ++
fs/btrfs/volumes.c | 12 ++--
3 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
inde
The last non-sysfs usage of btrfs_raid_ktype has been moved to a private
helper in previous patch so the variable can be made static.
Signed-off-by: David Sterba
---
fs/btrfs/sysfs.c | 2 +-
fs/btrfs/sysfs.h | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/fs/btrfs/sysfs.c b/
Hi,
On 8/2/19 2:54 PM, Anand Jain wrote:
>
> So at both, btrfs fi label and btrfs prop set the label works on the
> mount-point or the device path if its unmounted. And even if the device
> path is used the label is for the whole filesystem.
Aha, clear.
Thanks!
Hans
On 2019/8/2 下午9:06, Josef Bacik wrote:
> Sometimes when messing with the chunk allocator code we can end up
> over-allocating chunks. Generally speaking I'll notice this when a
> random xfstest fails with ENOSPC when it shouldn't, but I'm super
> worried that I won't catch a problem until somebo
On Thu, Jun 20, 2019 at 03:37:42PM -0400, Josef Bacik wrote:
> This is the series to migrate the block group code out of extent-tree.c. This
> is a much larger series than the previous two series because things were much
> more intertwined than block_rsv's and space_info. There is one code change
On Fri, Aug 02, 2019 at 11:50:26AM +0800, Anand Jain wrote:
>
> For whole series.
>
> Reviewed-by: Anand Jain
>
> One nit below.
>
> On 8/1/19 8:50 PM, David Sterba wrote:
> > Signed-off-by: David Sterba
> > ---
> > fs/btrfs/tree-log.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion
On Fri, Aug 02, 2019 at 09:54:12PM +0800, Qu Wenruo wrote:
>
>
> On 2019/8/2 下午9:06, Josef Bacik wrote:
> > Sometimes when messing with the chunk allocator code we can end up
> > over-allocating chunks. Generally speaking I'll notice this when a
> > random xfstest fails with ENOSPC when it shoul
On Fri, Aug 02, 2019 at 03:56:38PM +0200, David Sterba wrote:
> On Thu, Jun 20, 2019 at 03:37:42PM -0400, Josef Bacik wrote:
> > This is the series to migrate the block group code out of extent-tree.c.
> > This
> > is a much larger series than the previous two series because things were
> > much
Sometimes when messing with the chunk allocator code we can end up
over-allocating chunks. Generally speaking I'll notice this when a
random xfstest fails with ENOSPC when it shouldn't, but I'm super
worried that I won't catch a problem until somebody has a fs completely
filled up with empty block
In testing block group removal it's sometimes handy to be able to create
block groups on demand. Add an ioctl to allow us to force allocation
from userspace.
Signed-off-by: Josef Bacik
---
fs/btrfs/ioctl.c | 30 ++
include/uapi/linux/btrfs.h | 1 +
2 files
This is so we can force chunk allocation to test various parts of the
fs. I used this to test my btrfsck patch for checking for empty block
groups, and a weird block group removal issue.
Signed-off-by: Josef Bacik
---
cmds/filesystem.c | 48 +++
ioctl
Hi,
please pull the branch with the following fixes:
* tiny race window during 2 transactions aborting at the same time can
accidentally lead to a commit
* regression fix, possible deadlock during fiemap
* fix for an old bug when incremental send can fail on a file that has
been deduplicate
On Fri, Aug 02, 2019 at 10:07:17AM -0400, Josef Bacik wrote:
> On Fri, Aug 02, 2019 at 03:56:38PM +0200, David Sterba wrote:
> > On Thu, Jun 20, 2019 at 03:37:42PM -0400, Josef Bacik wrote:
> > > This is the series to migrate the block group code out of extent-tree.c.
> > > This
> > > is a much l
bor@tw:~> sudo btrfs qgroup show .
ERROR: cannot find the qgroup 0/789
bor@tw:~>
Fine. This openSUSE with snapper which creates and automatically
destroys snapshots and apparently either kernel or snapper now also
remove corresponding qgroup. I played with snapshots and created several
top level q
This is an effort to use iomap for btrfs. This would keep most
responsibility of page handling during writes in iomap code, hence
code reduction. For CoW support, changes are needed in iomap code
to make sure we perform a copy before the write.
This is in line with the discussion we had during addi
From: Goldwyn Rodrigues
In case of a IOMAP_COW, read a page from the srcmap before
performing a write on the page.
Signed-off-by: Goldwyn Rodrigues
---
fs/iomap/buffered-io.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/bu
From: Goldwyn Rodrigues
Introduces a new type IOMAP_COW, which means the data at offset
must be read from a srcmap and copied before performing the
write on the offset.
The srcmap is used to identify where the read is to be performed
from. This is passed to iomap->begin() of the respective
files
From: Goldwyn Rodrigues
While most of the code works just eliminating page's private
field and related code, there is a problem when we are cloning.
The extent assumes the data is uptodate. Clear the EXTENT_UPTODATE
flag for the extent so the next time the file is read, it is
forced to be read fr
From: Goldwyn Rodrigues
This makes btrfs_get_extent_map_write() independent of Direct
I/O code.
Signed-off-by: Goldwyn Rodrigues
---
fs/btrfs/ctree.h | 2 ++
fs/btrfs/inode.c | 40 +++-
2 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/fs/btr
From: Goldwyn Rodrigues
Since btrfs Direct I/O needs to perform operations before submission,
use the submit_io function which operates on the bio to perform checksum
calculations etc.
Signed-off-by: Goldwyn Rodrigues
---
fs/btrfs/ctree.h | 3 ++
fs/btrfs/file.c | 2 +-
fs/btrfs/inode.c |
From: Goldwyn Rodrigues
Introduce a new btrfs_iomap structure which contains information
about the filesystem between the iomap_begin() and iomap_end() calls.
This contains information about reservations and extent locking.
This one is a long patch. Most of the code is "inspired" by
fs/btrfs/fil
From: Goldwyn Rodrigues
Since we will be calling from another file, use a
better name to declare it non-static
Signed-off-by: Goldwyn Rodrigues
---
fs/btrfs/ctree.h | 7 +--
fs/btrfs/inode.c | 14 +-
2 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/fs/btrfs/ctr
From: Goldwyn Rodrigues
Update the inode size for dio writes during bio completion.
This ties the success of the underlying block layer
whether to increase the size of the inode. Especially for
in aio cases.
Signed-off-by: Goldwyn Rodrigues
---
fs/btrfs/inode.c | 6 +-
1 file changed, 5 in
From: Goldwyn Rodrigues
This helps filesystems to perform tasks on the bio while
submitting for I/O. Since btrfs requires the position
we are working on, pass pos to iomap_dio_submit_bio()
The correct place for submit_io() is not page_ops. Would it
better to rename the structure to something lik
From: Goldwyn Rodrigues
Better done in a separate patch to keep the main patch short(er)
Signed-off-by: Goldwyn Rodrigues
---
fs/btrfs/file.c | 463
1 file changed, 463 deletions(-)
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 0
From: Goldwyn Rodrigues
Set iomap->type to IOMAP_COW and fill up the source map in case
the I/O is not page aligned.
Signed-off-by: Goldwyn Rodrigues
---
fs/btrfs/iomap.c | 41 +
1 file changed, 41 insertions(+)
diff --git a/fs/btrfs/iomap.c b/fs/btrfs/
From: Goldwyn Rodrigues
Add btrfs_dio_iomap_ops for iomap.begin() function. In order to
accomodate dio reads, add a new function btrfs_file_read_iter()
which would call btrfs_dio_iomap_read() for DIO reads and
fallback to generic_file_read_iter otherwise.
Signed-off-by: Goldwyn Rodrigues
---
f
From: Goldwyn Rodrigues
btrfs_dio_data is unnecessary since we are now storing all
informaiton in btrfs_iomap.
Advantage: We don't abuse current->journal_info anymore :)
Signed-off-by: Goldwyn Rodrigues
---
fs/btrfs/file.c | 40
fs/btrfs/inode.c | 81 ++---
The pull request you sent on Fri, 2 Aug 2019 18:50:19 +0200:
> git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.3-rc2-tag
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/d38c3fa6f959b8b5b167f120d70d66418714dbe4
Thank you!
--
Deet-doot-dot, I am a
On 2019/8/3 上午2:08, Andrei Borzenkov wrote:
> bor@tw:~> sudo btrfs qgroup show .
> ERROR: cannot find the qgroup 0/789
> bor@tw:~>
>
> Fine. This openSUSE with snapper which creates and automatically
> destroys snapshots and apparently either kernel or snapper now also
> remove corresponding qgr
On Fri, Aug 02, 2019 at 05:00:45PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues
>
> This helps filesystems to perform tasks on the bio while
> submitting for I/O. Since btrfs requires the position
> we are working on, pass pos to iomap_dio_submit_bio()
What /does/ btrfs_submit_direc
On Fri, Aug 02, 2019 at 05:00:37PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues
>
> In case of a IOMAP_COW, read a page from the srcmap before
> performing a write on the page.
Looks ok, I think...
Reviewed-by: Darrick J. Wong
--D
>
> Signed-off-by: Goldwyn Rodrigues
> ---
> f
On Fri, Aug 02, 2019 at 05:00:36PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues
>
> Introduces a new type IOMAP_COW, which means the data at offset
> must be read from a srcmap and copied before performing the
> write on the offset.
>
> The srcmap is used to identify where the read
03.08.2019 2:09, Qu Wenruo пишет:
>
>
> On 2019/8/3 上午2:08, Andrei Borzenkov wrote:
>> bor@tw:~> sudo btrfs qgroup show .
>> ERROR: cannot find the qgroup 0/789
>> bor@tw:~>
>>
>> Fine. This openSUSE with snapper which creates and automatically
>> destroys snapshots and apparently either kernel o
On 2019/8/3 下午1:31, Andrei Borzenkov wrote:
> 03.08.2019 2:09, Qu Wenruo пишет:
>>
>>
>> On 2019/8/3 上午2:08, Andrei Borzenkov wrote:
>>> bor@tw:~> sudo btrfs qgroup show .
>>> ERROR: cannot find the qgroup 0/789
>>> bor@tw:~>
>>>
>>> Fine. This openSUSE with snapper which creates and automaticall
When we try to delete qgroups, we're pretty cautious, we make sure both
qgroups exist and there is a relationship between them, then try to
delete the relation.
This behavior is OK, but the problem is we need to two relation items,
and if we failed the first item deletion, we error out, leaving th
03.08.2019 9:17, Qu Wenruo пишет:
>
>
> On 2019/8/3 下午1:31, Andrei Borzenkov wrote:
>> 03.08.2019 2:09, Qu Wenruo пишет:
>>>
>>>
>>> On 2019/8/3 上午2:08, Andrei Borzenkov wrote:
bor@tw:~> sudo btrfs qgroup show .
ERROR: cannot find the qgroup 0/789
bor@tw:~>
Fine. This ope
54 matches
Mail list logo