Re: svn commit: r307397 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2016-10-16 Thread Alexander Motin
On 16.10.2016 22:48, Ngie Cooper wrote:
> 
>> On Oct 16, 2016, at 11:49, Alexander Motin  wrote:
>>
>> Author: mav
>> Date: Sun Oct 16 18:49:15 2016
>> New Revision: 307397
>> URL: https://svnweb.freebsd.org/changeset/base/307397
>>
>> Log:
>>  Add vfs.zfs.zil_log_limit sysctl.
>>
>>  It is at least partially broken now, but that is another question.
> 
> How is it broken?

zl_itx_list_sz variable is not updated inside zil_async_to_sync(), that
makes USE_SLOG() always return TRUE, ignoring value of zil_slog_limit.
I am now trying to decide whether to fix that variable or rip it off.

>> Modified:
>>  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
>>
>> Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
>> ==
>> --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.cSun Oct 16 
>> 18:27:41 2016(r307396)
>> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.cSun Oct 16 
>> 18:49:15 2016(r307397)
>> @@ -924,6 +924,8 @@ uint64_t zil_block_buckets[] = {
>>  * Limit checking is disabled by setting zil_slog_limit to UINT64_MAX.
>>  */
>> uint64_t zil_slog_limit = 1024 * 1024;
>> +SYSCTL_QUAD(_vfs_zfs, OID_AUTO, zil_slog_limit, CTLFLAG_RWTUN,
>> +_slog_limit, 0, "Maximal commit size to use SLOG");
>> #defineUSE_SLOG(zilog) (((zilog)->zl_logbias == ZFS_LOGBIAS_LATENCY) && \
>>(((zilog)->zl_cur_used < zil_slog_limit) || \
>>((zilog)->zl_itx_list_sz < (zil_slog_limit << 1
>>

-- 
Alexander Motin
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r307397 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2016-10-16 Thread Ngie Cooper

> On Oct 16, 2016, at 11:49, Alexander Motin  wrote:
> 
> Author: mav
> Date: Sun Oct 16 18:49:15 2016
> New Revision: 307397
> URL: https://svnweb.freebsd.org/changeset/base/307397
> 
> Log:
>  Add vfs.zfs.zil_log_limit sysctl.
> 
>  It is at least partially broken now, but that is another question.

How is it broken?
> Modified:
>  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
> 
> Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
> ==
> --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.cSun Oct 16 
> 18:27:41 2016(r307396)
> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.cSun Oct 16 
> 18:49:15 2016(r307397)
> @@ -924,6 +924,8 @@ uint64_t zil_block_buckets[] = {
>  * Limit checking is disabled by setting zil_slog_limit to UINT64_MAX.
>  */
> uint64_t zil_slog_limit = 1024 * 1024;
> +SYSCTL_QUAD(_vfs_zfs, OID_AUTO, zil_slog_limit, CTLFLAG_RWTUN,
> +_slog_limit, 0, "Maximal commit size to use SLOG");
> #defineUSE_SLOG(zilog) (((zilog)->zl_logbias == ZFS_LOGBIAS_LATENCY) && \
>(((zilog)->zl_cur_used < zil_slog_limit) || \
>((zilog)->zl_itx_list_sz < (zil_slog_limit << 1
> 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"