xfs
[Top] [All Lists]

Re: [PATCH 46/55] xfs: Add xfs_log_rlimit.c

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: [PATCH 46/55] xfs: Add xfs_log_rlimit.c
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Fri, 21 Feb 2014 15:46:22 -0600
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <5307BD7C.808@xxxxxxxxxxx>
References: <1378332359-14737-1-git-send-email-david@xxxxxxxxxxxxx> <1378332359-14737-47-git-send-email-david@xxxxxxxxxxxxx> <5251A450.4000407@xxxxxxxxxxx> <5252125B.2040300@xxxxxxxxxxx> <5252BB9A.2040705@xxxxxxx> <5307AD41.1000807@xxxxxxxxxxx> <5307B9C2.4000908@xxxxxxx> <5307BD7C.808@xxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0
On 02/21/14 14:56, Eric Sandeen wrote:
On 2/21/14, 2:40 PM, Mark Tinguely wrote:
On 02/21/14 13:47, Eric Sandeen wrote:
On 10/7/13, 8:48 AM, Mark Tinguely wrote:
On 10/06/13 20:46, Eric Sandeen wrote:
On 10/6/13 12:56 PM, Eric Sandeen wrote:
On 9/4/13 5:05 PM, Dave Chinner wrote:
From: Jie Liu<jeff.liu@xxxxxxxxxx>

Add source files for xfs_log_rlimit.c The new file is used for log
size calculations and validation shared with userspace.

[dchinner: xfs_log_calc_max_attrsetm_res() does not modify the
tr_attrsetm reservation, just calculates the maximum. ]

[dchinner: rework loop in xfs_log_get_max_trans_res() ]

[dchinner: implement xfs_log_calc_unit_res() in util.c to give mkfs
a worse case calculation of the log size needed. ]
2 things:

Ben, seems like your workflow lost the:

From: Jie Liu<jeff.liu@xxxxxxxxxx>

at the top - in git, the author is listed as Dave in git.

(Although those [parentheticals] were pretty fundamental changes,
something I just gave Rich a hard time for)  ;)

Also, this now breaks xfstest xfs/216 as a result of the mkfs changes.
What are the plans for that?

Sorry, to be clear, it breaks that test (and others, pretty sure)
because the log sizes for small filesystems are significantly bigger:

-fssize=1g log      =internal log           bsize=4096   blocks=2560, version=2
+fssize=1g log      =internal log           bsize=4096   blocks=12800, version=2

-fssize=2g log      =internal log           bsize=4096   blocks=2560, version=2
+fssize=2g log      =internal log           bsize=4096   blocks=12800, version=2

-fssize=4g log      =internal log           bsize=4096   blocks=2560, version=2
+fssize=4g log      =internal log           bsize=4096   blocks=12800, version=2

-fssize=8g log      =internal log           bsize=4096   blocks=2560, version=2
+fssize=8g log      =internal log           bsize=4096   blocks=12800, version=2

-fssize=16g log      =internal log           bsize=4096   blocks=2560, version=2
+fssize=16g log      =internal log           bsize=4096   blocks=12800, 
version=2

-fssize=32g log      =internal log           bsize=4096   blocks=4096, version=2
+fssize=32g log      =internal log           bsize=4096   blocks=12800, 
version=2

-fssize=64g log      =internal log           bsize=4096   blocks=8192, version=2
+fssize=64g log      =internal log           bsize=4096   blocks=12800, 
version=2

    fssize=128g log      =internal log           bsize=4096   blocks=16384, 
version=2
    fssize=256g log      =internal log           bsize=4096   blocks=32768, 
version=2

-Eric


Separate outputs for different versions of the OS version like we do for 16/32 
bit tests' output?

I'm not sure what we'd switch on....

I was thinking of the output of uname(1). Probably easier to filter the results 
in the test on the OS version rather than have separate golden outputs.

The behavior depends on the xfsprogs version, though, not the kernel version.

I .... guess we could do mkfs.xfs -V and split on that.

I do want to make sure it's all intentional though, first.

-Eric

Sorry, I was thinking of the same change that went into the kernel.
The min log size should be at least 3 time the max transaction size.
That accounts for the bigger entries.

I would be happy to use the new calculations as the correct output since the new calculations are the right thing to do. Goes back to how long should xfstests support older kernels, xfsprogs, etc.

--Mark.

<Prev in Thread] Current Thread [Next in Thread>