On 16.10.2016 22:48, Ngie Cooper wrote:
> 
>> On Oct 16, 2016, at 11:49, Alexander Motin <m...@freebsd.org> 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.c    Sun Oct 16 
>> 18:27:41 2016    (r307396)
>> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c    Sun 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,
>> +    &zil_slog_limit, 0, "Maximal commit size to use SLOG");
>> #define    USE_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-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to