If repair is enabled and try_repair_inode() failed in
check_inode_recs(), then value @ret will be reset to 0 anyway.
Then counter @error won't be incremented.
In other words, if previous check of the root directory is fine,
check_inode_recs() always returns 0 even it failed to repair inodes.
So
On Monday, January 8, 2018 3:29:17 AM CET Mark H Weaver wrote:
> I propose that we revisit this bug and fix it. We clearly cannot assume that
> st_blocks == 0 implies that the file contains only zeroes.
. only on btrfs, as far as we know, because of some race condition. So
what about special
On 2017年12月27日 09:11, Su Yue wrote:
>
>
[snip]
Manually allocation in advance has its advantage, like we can determine
if there is enough space for new chunk instead of checking every return
value with ENOSPC.
However in current case, your metadata usage is
On 01/09/2018 03:03 AM, David Sterba wrote:
On Tue, Nov 21, 2017 at 06:15:24PM +0800, Su Yue wrote:
check_fs_roots() will check all fs trees again if fs_info->tree_root
have been cowed.
It is inefficient if there are many subvolumes in filesystem.
And it also causes dead loop while repairing
On 01/08/2018 08:15 PM, Tejun Heo wrote:
> Currently, blk-mq protects only the issue path with RCU. This patch
> puts the completion path under the same RCU protection. This will be
> used to synchronize issue/completion against timeout by later patches,
> which will also add the comments.
>
>
Hi tejun
Many thanks for your kindly response.
On 01/09/2018 11:37 AM, Tejun Heo wrote:
> Hello,
>
> On Tue, Jan 09, 2018 at 11:08:04AM +0800, jianchao.wang wrote:
>>> But what'd prevent the completion reinitializing the request and then
>>> the actual completion path coming in and completing
Hello,
On Tue, Jan 09, 2018 at 11:08:04AM +0800, jianchao.wang wrote:
> > But what'd prevent the completion reinitializing the request and then
> > the actual completion path coming in and completing the request again?
>
> blk_mark_rq_complete() will gate and ensure there will be only one
>
Hi tejun
Many thanks for you kindly response.
On 01/09/2018 01:27 AM, Tejun Heo wrote:
> Hello, Jianchao.
>
> On Fri, Dec 22, 2017 at 12:02:20PM +0800, jianchao.wang wrote:
>>> On Thu, Dec 21, 2017 at 11:56:49AM +0800, jianchao.wang wrote:
It's worrying that even though the
(added reroll count in the $subject)
v3->v4:
Patch reordered.
Add BTRFS_SUPER_FLAG_METADUMP_V2 to BTRFS_SUPER_FLAG_SUPP
v2->v3:
Modify BTRFS_SUPER_FLAG_SUPP so that it would fail instead of warn.
v1->v2:
Fail to mount if BTRFS_SUPER_FLAG_CHANGING_FSID is set.
Following bits are already used
On 01/08/2018 04:25 PM, Qu Wenruo wrote:
We used to have two chunk allocators, btrfs_alloc_chunk() and
btrfs_alloc_data_chunk(), the former is the more generic one, while the
later is only used in mkfs and convert, to allocate SINGLE data chunk.
Although btrfs_alloc_data_chunk() has some
On Thu, 4 Jan 2018 11:07:16 -0500
Josef Bacik wrote:
> On Tue, Dec 26, 2017 at 04:46:28PM +0900, Masami Hiramatsu wrote:
> > Hi Josef and Alexei,
> >
> > Here are the 2nd version of patches to moving error injection
> > table from kprobes. In this series I did a small
Userland sets SUPER_FLAG_CHANGING_FSID and resets it only when changing
fsid is complete. Its not a good idea to mount the device anything in
between.
This patch doesn't add SUPER_FLAG_CHANGING_FSID into BTRFS_SUPER_FLAG_SUPP
list, so mount would fail (along with the fix in the next patch) when
btrfs-progs uses super flag bit BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34).
So just define that in kernel so that we know its been used.
Signed-off-by: Anand Jain
---
fs/btrfs/disk-io.c | 3 ++-
include/uapi/linux/btrfs_tree.h | 1 +
2 files changed, 3
v3->v4:
Patch reordered.
Add BTRFS_SUPER_FLAG_METADUMP_V2 to BTRFS_SUPER_FLAG_SUPP
v2->v3:
Modify BTRFS_SUPER_FLAG_SUPP so that it would fail instead of warn.
v1->v2:
Fail to mount if BTRFS_SUPER_FLAG_CHANGING_FSID is set.
Following bits are already used in user land, so bring it to the kernel
It appear from the original commit [1] that there isn't any design
specific reason not to fail the mount instead of just warning. This
patch will change it to fail.
[1]
commit 319e4d0661e5323c9f9945f0f8fb5905e5fe74c3
btrfs: Enhance super validation check
Signed-off-by: Anand Jain
On 2018年01月08日 21:55, Timofey Titovets wrote:
> 2018-01-08 15:54 GMT+03:00 Qu Wenruo :
>>
>>
>> On 2018年01月08日 16:43, Nikolay Borisov wrote:
>>> This test has been failing for btrfs for quite some time,
>>> at least since 4.7. There are 2 implementation details of btrfs
On 2018年01月09日 03:39, David Sterba wrote:
> On Tue, Jan 02, 2018 at 02:33:15PM +0800, Qu Wenruo wrote:
>> Signed-off-by: Qu Wenruo
>> ---
>> tests/misc-tests/028-fi-usage-cross-check/test.sh | 46
>> +++
>> 1 file changed, 46 insertions(+)
>> create mode
On Mon, 2018-01-08 at 11:15 -0800, Tejun Heo wrote:
> The RCU protection has been expanded to cover both queueing and
> completion paths making ->queue_rq_srcu a misnomer. Rename it to
> ->srcu as suggested by Bart.
Reviewed-by: Bart Van Assche
On Mon, 2018-01-08 at 11:15 -0800, Tejun Heo wrote:
> After the recent updates to use generation number and state based
> synchronization, we can easily replace REQ_ATOM_STARTED usages by
> adding an extra state to distinguish completed but not yet freed
> state.
>
> Add MQ_RQ_COMPLETE and
On Mon, 2018-01-08 at 11:15 -0800, Tejun Heo wrote:
> After the recent updates to use generation number and state based
> synchronization, blk-mq no longer depends on REQ_ATOM_COMPLETE except
> to avoid firing the same timeout multiple times.
>
> Remove all REQ_ATOM_COMPLETE usages and use a new
On 01/09/18 00:27, Holger Hoffstätte wrote:
> On 01/08/18 23:55, Jens Axboe wrote:
>> the good old
>>
>> int srcu_idx = srcu_idx;
>>
>> should get the job done.
>
> (Narrator: It didn't.)
Narrator: we retract our previous statement and apologize for the
confusion. It works fine when you
On Mon, 2018-01-08 at 11:15 -0800, Tejun Heo wrote:
> @@ -230,6 +232,27 @@ struct request {
>
> unsigned short write_hint;
>
> + /*
> + * On blk-mq, the lower bits of ->gstate carry the MQ_RQ_* state
> + * value and the upper bits the generation number which is
> + *
From: Colin Ian King
Add a missing void parameter to function btrfs_test_extent_map, fixes
sparse warning:
warning: non-ANSI function declaration of function 'btrfs_test_extent_map'
Signed-off-by: Colin Ian King
---
On 1/8/18 1:15 PM, Jens Axboe wrote:
> On 1/8/18 12:57 PM, Holger Hoffstätte wrote:
>> On 01/08/18 20:15, Tejun Heo wrote:
>>> Currently, blk-mq protects only the issue path with RCU. This patch
>>> puts the completion path under the same RCU protection. This will be
>>> used to synchronize
Greetings,
I'm running btrfs scrub on my raid each week (is that too often?) and
I'm having a problem that it reports corruption, says it's repaired but
next week reports it again. Here is from dmesg:
$ cat btrfs_error_2017_12_18
[390739.538838] BTRFS warning (device dm-13): checksum error at
On Mon, Jan 08, 2018 at 04:43:02PM -0500, Tom Worster wrote:
> On 01/08/2018 04:55 PM, Austin S. Hemmelgarn wrote:
>
> >On 2018-01-08 11:20, ein wrote:
> >
> >> On 01/08/2018 04:55 PM, Austin S. Hemmelgarn wrote:
> >>
> >> > [...]
> >> >
> >> > And here's the FAQ entry:
> >> >
> >> > Q: Do I need
On Mon, 2018-01-08 at 11:15 -0800, Tejun Heo wrote:
> @@ -156,12 +156,12 @@ void blk_timeout_work(struct work_struct *work)
> */
> void blk_abort_request(struct request *req)
> {
> - if (blk_mark_rq_complete(req))
> - return;
> -
> if (req->q->mq_ops) {
> -
On Mon, 2018-01-08 at 11:15 -0800, Tejun Heo wrote:
> blk_mq_check_inflight() and blk_mq_poll_hybrid_sleep() test
> REQ_ATOM_COMPLETE to determine the request state. Both uses are
> speculative and we can test REQ_ATOM_STARTED and blk_mq_rq_state() for
> equivalent results. Replace the tests.
On 01/08/2018 04:55 PM, Austin S. Hemmelgarn wrote:
On 2018-01-08 11:20, ein wrote:
> On 01/08/2018 04:55 PM, Austin S. Hemmelgarn wrote:
>
> > [...]
> >
> > And here's the FAQ entry:
> >
> > Q: Do I need to run a balance regularly?
> >
> > A: In general usage, no. A full unfiltered balance
On Mon, 2018-01-08 at 21:17 +0100, Krzysztof Kozlowski wrote:
> On Mon, Jan 08, 2018 at 02:15:29PM -0500, Jeff Layton wrote:
> > On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote:
> > > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote:
> > > > On Mon, 2018-01-08 at 18:29
On Mon, 2018-01-08 at 11:15 -0800, Tejun Heo wrote:
> +static void blk_mq_rq_update_aborted_gstate(struct request *rq, u64 gstate)
> +{
> + unsigned long flags;
> +
> + local_irq_save(flags);
> + u64_stats_update_begin(>aborted_gstate_sync);
> + rq->aborted_gstate = gstate;
> +
On 08.01.2018 19:34 Austin S. Hemmelgarn wrote:
> On 2018-01-08 13:17, Graham Cobb wrote:
>> On 08/01/18 16:34, Austin S. Hemmelgarn wrote:
>>> Ideally, I think it should be as generic as reasonably possible,
>>> possibly something along the lines of:
>>>
>>> A: While not strictly necessary,
On Mon, Jan 08, 2018 at 02:15:29PM -0500, Jeff Layton wrote:
> On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote:
> > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote:
> > > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote:
> >
> > (...)
> >
> > > > > Ok,
On 1/8/18 12:57 PM, Holger Hoffstätte wrote:
> On 01/08/18 20:15, Tejun Heo wrote:
>> Currently, blk-mq protects only the issue path with RCU. This patch
>> puts the completion path under the same RCU protection. This will be
>> used to synchronize issue/completion against timeout by later
On Mon, 2018-01-08 at 14:15 -0500, Jeff Layton wrote:
> On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote:
> > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote:
> > > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote:
> >
> > (...)
> >
> > > > > Ok, thanks. If
On Fri, Jan 05, 2018 at 12:51:07PM -0700, Liu Bo wrote:
> Although
> commit e6c4efd87ab0 ("btrfs: Fix and enhance merge_extent_mapping() to insert
> best fitted extent map")
> fixed up the negetive em->len, it has introduced several regressions, several
> has been fixed by
>
> commit
On 01/08/18 20:15, Tejun Heo wrote:
> Currently, blk-mq protects only the issue path with RCU. This patch
> puts the completion path under the same RCU protection. This will be
> used to synchronize issue/completion against timeout by later patches,
> which will also add the comments.
>
>
On Mon, Jan 08, 2018 at 04:20:58PM +0800, Qu Wenruo wrote:
>
>
> On 2018年01月08日 16:04, Anand Jain wrote:
> > btrfs-progs uses super flag bit BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34).
> > So just define that in kernel so that we know its been used. This patch
> > does not add it to
On Tue, Jan 02, 2018 at 02:33:15PM +0800, Qu Wenruo wrote:
> Signed-off-by: Qu Wenruo
> ---
> tests/misc-tests/028-fi-usage-cross-check/test.sh | 46
> +++
> 1 file changed, 46 insertions(+)
> create mode 100755
On Fri, Dec 29, 2017 at 11:01:44AM +0200, Nikolay Borisov wrote:
> While performing normal mode check if the code comes across an invalid
> extent format it will just BUG() and exit without printing any useful
> information for debugging. Improve the situation by outputting the
> key/leaf
On Mon, 2018-01-08 at 11:15 -0800, Tejun Heo wrote:
> +static void hctx_unlock(struct blk_mq_hw_ctx *hctx, int srcu_idx)
> +{
> + if (!(hctx->flags & BLK_MQ_F_BLOCKING))
> + rcu_read_unlock();
> + else
> + srcu_read_unlock(hctx->queue_rq_srcu, srcu_idx);
> +}
> +
>
On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote:
> On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote:
> > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote:
>
> (...)
>
> > > > Ok, thanks. If you're seeing hangs then that might imply that we have
> > > > some
From: Jens Axboe
Move the RCU vs SRCU logic into lock/unlock helpers, which makes
the actual functional bits within the locked region much easier
to read.
tj: Reordered in front of timeout revamp patches and added the missing
blk_mq_run_hw_queue() conversion.
Currently, blk-mq timeout path synchronizes against the usual
issue/completion path using a complex scheme involving atomic
bitflags, REQ_ATOM_*, memory barriers and subtle memory coherence
rules. Unfortunately, it contains quite a few holes.
There's a complex dancing around REQ_ATOM_STARTED and
Currently, blk-mq protects only the issue path with RCU. This patch
puts the completion path under the same RCU protection. This will be
used to synchronize issue/completion against timeout by later patches,
which will also add the comments.
Signed-off-by: Tejun Heo
---
Hello,
Changes from [v3]
- Rebased on top of for-4.16/block.
- Integrated Jens's hctx_[un]lock() factoring patch and refreshed the
patches accordingly.
- Added comment explaining the use of hctx_lock() instead of
rcu_read_lock() in completion path.
Changes from [v2]
- Possible extended
With issue/complete and timeout paths now using the generation number
and state based synchronization, blk_abort_request() is the only one
which depends on REQ_ATOM_COMPLETE for arbitrating completion.
There's no reason for blk_abort_request() to be a completely separate
path. This patch makes
blk_mq_check_inflight() and blk_mq_poll_hybrid_sleep() test
REQ_ATOM_COMPLETE to determine the request state. Both uses are
speculative and we can test REQ_ATOM_STARTED and blk_mq_rq_state() for
equivalent results. Replace the tests. This will allow removing
REQ_ATOM_COMPLETE usages from
After the recent updates to use generation number and state based
synchronization, we can easily replace REQ_ATOM_STARTED usages by
adding an extra state to distinguish completed but not yet freed
state.
Add MQ_RQ_COMPLETE and replace REQ_ATOM_STARTED usages with
blk_mq_rq_state() tests.
After the recent updates to use generation number and state based
synchronization, blk-mq no longer depends on REQ_ATOM_COMPLETE except
to avoid firing the same timeout multiple times.
Remove all REQ_ATOM_COMPLETE usages and use a new rq_flags flag
RQF_MQ_TIMEOUT_EXPIRED to avoid firing the same
The RCU protection has been expanded to cover both queueing and
completion paths making ->queue_rq_srcu a misnomer. Rename it to
->srcu as suggested by Bart.
Signed-off-by: Tejun Heo
Cc: Bart Van Assche
---
block/blk-mq.c | 14 +++---
On Tue, Nov 21, 2017 at 06:15:24PM +0800, Su Yue wrote:
> check_fs_roots() will check all fs trees again if fs_info->tree_root
> have been cowed.
> It is inefficient if there are many subvolumes in filesystem.
>
> And it also causes dead loop while repairing
> fuzz-tests/images/bko-161811.raw:
>
On Tue, Nov 21, 2017 at 06:15:23PM +0800, Su Yue wrote:
> After failure of try_repair_inode(), the value @ret will be reseted
> anyway. Then counter @error won't be incremented.
Can you pleae expand the changelog? I don't see how this patch helps,
the extra line does not hurt readability so I
On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote:
> On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote:
(...)
> > > Ok, thanks. If you're seeing hangs then that might imply that we have
> > > some sort of excessive looping going on in the cmpxchg loops.
> > >
> > > Could
On 2018-01-08 13:17, Graham Cobb wrote:
On 08/01/18 16:34, Austin S. Hemmelgarn wrote:
Ideally, I think it should be as generic as reasonably possible,
possibly something along the lines of:
A: While not strictly necessary, running regular filtered balances (for
example `btrfs balance start
On Tue, Oct 31, 2017 at 05:23:03PM +0800, Gu Jinxiang wrote:
> Some parameter of trans is not used indeed.
> Let's remove them.
>
> Signed-off-by: Gu Jinxiang
1 and 2 applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a
On Mon, Nov 13, 2017 at 01:33:15PM +0800, Lu Fengqi wrote:
> We have to process the return value of BTRFS_IOC_TREE_SEARCH ioctl in
> advance, so that we can distinguish between the two case where quota
> is not enabled (ioctl return -ENOENT) and either parent qgroup or child
> qgroup does not
On 08/01/18 16:34, Austin S. Hemmelgarn wrote:
> Ideally, I think it should be as generic as reasonably possible,
> possibly something along the lines of:
>
> A: While not strictly necessary, running regular filtered balances (for
> example `btrfs balance start -dusage=50 -dlimit=2 -musage=50
On Fri, Dec 22, 2017 at 07:05:55AM -0500, Jeff Layton wrote:
> From: Jeff Layton
>
> At this point, we know that "now" and the file times may differ, and we
> suspect that the i_version has been flagged to be bumped. Attempt to
> bump the i_version, and only mark the inode
On Fri, Dec 22, 2017 at 07:05:43AM -0500, Jeff Layton wrote:
> From: Jeff Layton
>
> Signed-off-by: Jeff Layton
Acked-by: David Sterba
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message
On Wed, Jan 03, 2018 at 11:43:51AM -0500, Jeff Layton wrote:
> I posted this set just before xmas, and am hoping to send Linus a PR for
> it when the next merge window opens. Both the ext4 and xfs folks have
> acked their respective parts.
>
> I'll note that this set helps small I/O workloads on
gt; > > i_version API
> > > > > git bisect good 325a1de4a691512a48c1426b943a7b0b9f8d6744
> > > > > # good: [a94fe10fb114c169e7ddaecd8251521886409121] checkpatch: add
> > > > > pF/pf deprecation warning
> > > > > git bisect good a94fe1
d1184fdcd63299a5fee59ac000f2067
> > > > # bad: [448f8c749a7a0ae03505823910ec45a112678048] Merge
> > > > remote-tracking branch 'iversion/iversion-next'
> > > > git bisect bad 448f8c749a7a0ae03505823910ec45a112678048
> > > > # bad: [8618bff776758ebff5b55211e7b5a60a0f
Hello, Jianchao.
On Fri, Dec 22, 2017 at 12:02:20PM +0800, jianchao.wang wrote:
> > On Thu, Dec 21, 2017 at 11:56:49AM +0800, jianchao.wang wrote:
> >> It's worrying that even though the blk_mark_rq_complete() here is
> >> intended to synchronize with timeout path, but it indeed give the
> >>
On Sat, Dec 23, 2017 at 09:52:36PM +0100, Hans van Kranenburg wrote:
> Alternatively, it might be a better idea to just remove the deprecated source
> files, since this is not the first time build failures in them went unnoticed.
btrfs-show-super and btrfs-calc-size have been deprecated since
Hello, Christoph.
On Fri, Dec 29, 2017 at 02:04:18AM -0800, Christoph Hellwig wrote:
> Why do you need the srcu protection? The completion path can never
> sleep.
>
> If there is a good reason to keep it please add commment, and
> make the srcu variant a separate function only used by drivers
On Fri, Dec 29, 2017 at 02:02:39AM -0800, Christoph Hellwig wrote:
> This seems to miss the linux-block list once again. Please include
> it in the next resend.
Sorry about that. Copy/pasted from the older thread without thinking.
Thanks.
--
tejun
--
To unsubscribe from this list: send the
On 2018-01-08 11:20, ein wrote:
On 01/08/2018 04:55 PM, Austin S. Hemmelgarn wrote:
[...]
And here's the FAQ entry:
Q: Do I need to run a balance regularly?
A: In general usage, no. A full unfiltered balance typically takes a
long time, and will rewrite huge amounts of data unnecessarily.
On 01/08/2018 04:55 PM, Austin S. Hemmelgarn wrote:
> [...]
>
> And here's the FAQ entry:
>
> Q: Do I need to run a balance regularly?
>
> A: In general usage, no. A full unfiltered balance typically takes a
> long time, and will rewrite huge amounts of data unnecessarily. You may
> wish to run
So, for a while now I've been recommending small filtered balances to
people as part of regular maintenance for BTRFS filesystems under the
logic that it does help in some cases and can't really hurt (and if done
right, is really inexpensive in terms of resources). This ended up
integrated
Hi,
a friendly reminder of the timetable and what's expected at this phase.
4.14 - current
4.15 - upcoming, urgent regression fixes only
4.16 - development closed, pull request in prep, fixes or regressions only
4.17 - development open, until 4.16-rc5 (at least)
On 8.01.2018 14:54, Qu Wenruo wrote:
>
>
> On 2018年01月08日 16:43, Nikolay Borisov wrote:
>> This test has been failing for btrfs for quite some time,
>> at least since 4.7. There are 2 implementation details of btrfs that
>> it exposes:
>>
>> 1. Currently btrfs filesystem under 100mb are
2018-01-08 15:54 GMT+03:00 Qu Wenruo :
>
>
> On 2018年01月08日 16:43, Nikolay Borisov wrote:
>> This test has been failing for btrfs for quite some time,
>> at least since 4.7. There are 2 implementation details of btrfs that
>> it exposes:
>>
>> 1. Currently btrfs filesystem
On Mon, 2018-01-08 at 05:30 -0800, Matthew Wilcox wrote:
> On Fri, Dec 22, 2017 at 07:05:56AM -0500, Jeff Layton wrote:
> > + cur = inode_peek_iversion_raw(inode);
> > + for (;;) {
> > + /* If flag is clear then we needn't do anything */
> > + if (!force && !(cur &
5b55211e7b5a60a0fc119a5] fs:
> > > handle inode->i_version more efficiently
> >
> > That's really strange. I'm afraid I have no idea what could be going on.
> >
> > With NFS, we really just treat i_version as an opaque value, so I'm not
> > sure
On Fri, Dec 22, 2017 at 07:05:56AM -0500, Jeff Layton wrote:
> + cur = inode_peek_iversion_raw(inode);
> + for (;;) {
> + /* If flag is clear then we needn't do anything */
> + if (!force && !(cur & I_VERSION_QUERIED))
> + return false;
> +
On Sun, 7 Jan 2018 19:01:57 -0800
Alexei Starovoitov wrote:
> On 12/29/17 12:20 AM, Masami Hiramatsu wrote:
> >> Please run Josef's test in the !ftrace setup.
> > Yes, I'll add the result of the test case.
>
> if Josef's test is passing in !ftrace config,
> please resend your
lt except:
[nfsd]
vers2=n
vers3=n
The client logs for nfsroot mounts are:
Jan 08 14:07:25 :: running hook [net_nfs4]
Jan 08 14:07:25 IP-Config: eth0 hardware address ba:17:70:7e:87:d1 mtu 1500
Jan 08 14:07:25 IP-Config: eth0 guessed broadcast address 192.168.1.255
Jan 08 14:07:25 IP-Config: et
On Sun, 2018-01-07 at 13:44 +0100, Krzysztof Kozlowski wrote:
> On Fri, Dec 22, 2017 at 1:05 PM, Jeff Layton wrote:
> > From: Jeff Layton
> >
> > Since i_version is mostly treated as an opaque value, we can exploit that
> > fact to avoid incrementing it
On 2018年01月08日 16:43, Nikolay Borisov wrote:
> This test has been failing for btrfs for quite some time,
> at least since 4.7. There are 2 implementation details of btrfs that
> it exposes:
>
> 1. Currently btrfs filesystem under 100mb are created in Mixed block
> group mode. Freespace
On 8.01.2018 12:21, Timofey Titovets wrote:
> 2018-01-08 12:45 GMT+03:00 Nikolay Borisov :
>> So here is a small 2 patch set which removes btrfs' manual initialisation of
>> the lower level crc32c module. Explanation why is ok can be found in Patch
>> 2/2.
>>
>> Patch 1/2
From: Xiongfeng Wang
gcc-8 reports
fs/btrfs/ioctl.c: In function 'btrfs_ioctl':
./include/linux/string.h:245:9: warning: '__builtin_strncpy' specified
bound 1024 equals destination size [-Wstringop-truncation]
We need one less byte or call strlcpy() to make it a
2018-01-08 12:45 GMT+03:00 Nikolay Borisov :
> So here is a small 2 patch set which removes btrfs' manual initialisation of
> the lower level crc32c module. Explanation why is ok can be found in Patch
> 2/2.
>
> Patch 1/2 just adds a function to the generic crc32c header which
So here is a small 2 patch set which removes btrfs' manual initialisation of
the lower level crc32c module. Explanation why is ok can be found in Patch 2/2.
Patch 1/2 just adds a function to the generic crc32c header which allows
querying the actual crc32c implementaiton used (i.e. software or
The custom crc32 init code was introduced in
14a958e678cd ("Btrfs: fix btrfs boot when compiled as built-in") to
enable using btrfs as a built-in. However, later as pointed out by
60efa5eb2e88 ("Btrfs: use late_initcall instead of module_init") this
wasn't enough and finally btrfs was switched to
This function returns a string with the currently in-use implementation
of the crc32c algorithm, i.e crc32c-generic (for unoptimised, generic
implementation) or crc32c-intel for the sse optimised version. This
will be used by btrfs.
Signed-off-by: Nikolay Borisov
---
2017-12-20 0:23 GMT+03:00 Darrick J. Wong :
> On Tue, Dec 19, 2017 at 01:02:44PM +0300, Timofey Titovets wrote:
>> At now btrfs_dedupe_file_range() restricted to 16MiB range for
>> limit locking time and memory requirement for dedup ioctl()
>>
>> For too big input range
add_pending_csums was added as part of the new data=ordered implementation in
e6dcd2dc9c48 ("Btrfs: New data=ordered implementation"). Even back then it
called the btrfs_csum_file_blocks which can fail but it never bothered handling
the failure. In ENOMEM situation this could lead to the
This test has been failing for btrfs for quite some time,
at least since 4.7. There are 2 implementation details of btrfs that
it exposes:
1. Currently btrfs filesystem under 100mb are created in Mixed block
group mode. Freespace accounting for it is not 100% accurate - I've
observed around
We used to have two chunk allocators, btrfs_alloc_chunk() and
btrfs_alloc_data_chunk(), the former is the more generic one, while the
later is only used in mkfs and convert, to allocate SINGLE data chunk.
Although btrfs_alloc_data_chunk() has some special hacks to cooperate
with convert, it's
On 2018年01月08日 16:04, Anand Jain wrote:
> btrfs-progs uses super flag bit BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34).
> So just define that in kernel so that we know its been used. This patch
> does not add it to BTRFS_SUPER_FLAG_SUPP yet.
>
> Signed-off-by: Anand Jain
>
On 2018年01月08日 16:04, Anand Jain wrote:
> Userland sets SUPER_FLAG_CHANGING_FSID and resets it only when changing
> fsid is complete. Its not a good idea to mount the device anything in
> between, so this patch fails the mount if SB SUPER_FLAG_CHANGING_FSID
> is set. As we don't add
On 2018年01月08日 16:04, Anand Jain wrote:
> It appear from the original commit [1] that there isn't any design
> specific reason not to fail the mount instead of just warning. This
> patch will change it to fail.
>
> [1]
> commit 319e4d0661e5323c9f9945f0f8fb5905e5fe74c3
> btrfs: Enhance
Userland sets SUPER_FLAG_CHANGING_FSID and resets it only when changing
fsid is complete. Its not a good idea to mount the device anything in
between, so this patch fails the mount if SB SUPER_FLAG_CHANGING_FSID
is set. As we don't add SUPER_FLAG_CHANGING_FSID into
BTRFS_SUPER_FLAG_SUPP list, so
v2->v3:
Modify BTRFS_SUPER_FLAG_SUPP so that it would fail instead of warn.
v1->v2:
Fail to mount if BTRFS_SUPER_FLAG_CHANGING_FSID is set.
Following bits are already used in user land, so bring it to the kernel
as well.
#define BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34)
#define
It appear from the original commit [1] that there isn't any design
specific reason not to fail the mount instead of just warning. This
patch will change it to fail.
[1]
commit 319e4d0661e5323c9f9945f0f8fb5905e5fe74c3
btrfs: Enhance super validation check
Signed-off-by: Anand Jain
btrfs-progs uses super flag bit BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34).
So just define that in kernel so that we know its been used. This patch
does not add it to BTRFS_SUPER_FLAG_SUPP yet.
Signed-off-by: Anand Jain
---
include/uapi/linux/btrfs_tree.h | 1 +
1 file
97 matches
Mail list logo