ZFS how to find out if ZIL is currently enabled?

Ivan Voras ivoras at freebsd.org
Thu Jul 28 12:49:29 UTC 2011


On 28 July 2011 14:24, Andriy Gapon <avg at freebsd.org> wrote:
> on 28/07/2011 14:32 Ivan Voras said the following:
>> Grepping for "zil" in sysctls doesn't give anything useful:
>>
>> # sysctl -a | grep zil
>> vfs.zfs.zil_replay_disable: 0
>>
>> (its description is "Disable intent logging replay" so it looks like a
>> crash recovery option)
>>
>> ... so is there a way to find out if ZIL is enabled?
>>
>> I can look at kenv but for some reason I can't trust its value right now.
>
> Here is a hammer: kgdb.
> But perhaps there is a more suitable tool :)

Hmmm, no, it looks like the zil_disable code is missing in the latest
8-stable! This confirmes what I noticed in operation and why I didn't
trust kenv.

>From the various csup dates I have on the servers it looks like it's
been removed somewhere between April and now, possibly with ZFS 28
MFC?

I.e. this code is missing:

*:/sys> grep -rn zil_disable *
cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h:382:extern int zil_disable;
cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c:897:    if
(zil_disable) {
cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c:69:int zil_disable =
0;        /* disable intent logging */
cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c:71:TUNABLE_INT("vfs.zfs.zil_disable",
&zil_disable);
cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c:72:SYSCTL_INT(_vfs_zfs,
OID_AUTO, zil_disable, CTLFLAG_RW, &zil_disable, 0,
cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c:450:          if
(bp->bio_cmd == BIO_FLUSH && !zil_disable)

Any ideas?


More information about the freebsd-fs mailing list