Date: Thu, 18 Sep 2014 11:05:49 -0600 From: Will Andrews <will@firepipe.net> To: Andriy Gapon <avg@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, "src-committers@FreeBSD.org" <src-committers@freebsd.org> Subject: Re: svn commit: r271788 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs Message-ID: <CADBaqmicAKJFTxYt1h7K-hzcm1gmG1rkzju=Bxji8WJ=jUi7mQ@mail.gmail.com> In-Reply-To: <541B1069.1030704@FreeBSD.org> References: <201409181655.s8IGtgft042984@svn.freebsd.org> <541B1069.1030704@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Which one is more idiomatic? Sorry, I never noticed that one. Thanks, --Will. On Thu, Sep 18, 2014 at 11:03 AM, Andriy Gapon <avg@freebsd.org> wrote: > On 18/09/2014 19:55, Will Andrews wrote: >> Author: will >> Date: Thu Sep 18 16:55:41 2014 >> New Revision: 271788 >> URL: http://svnweb.freebsd.org/changeset/base/271788 >> >> Log: >> Enable ZFS debug flags to be modified via vfs.zfs.debug_flags. >> >> This is primarily only of interest to ZFS developers, but it makes it >> easier to get additional debugging. >> >> Submitted by: gibbs >> MFC after: 1 month >> Sponsored by: Spectra Logic >> MFSpectraBSD: 517074 on 2011/12/15 (by will), 662343 on 2013/03/20 (by gibbs) > > zfs_flags was already accessible via debug.zfs_flags sysctl and tunable. > That should probably be removed now? > >> Modified: >> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c >> >> Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c >> ============================================================================== >> --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c Thu Sep 18 16:53:44 2014 (r271787) >> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c Thu Sep 18 16:55:41 2014 (r271788) >> @@ -259,6 +259,33 @@ SYSCTL_DECL(_vfs_zfs); >> SYSCTL_INT(_vfs_zfs, OID_AUTO, recover, CTLFLAG_RDTUN, &zfs_recover, 0, >> "Try to recover from otherwise-fatal errors."); >> >> +static int >> +sysctl_vfs_zfs_debug_flags(SYSCTL_HANDLER_ARGS) >> +{ >> + int err, val; >> + >> + val = zfs_flags; >> + err = sysctl_handle_int(oidp, &val, 0, req); >> + if (err != 0 || req->newptr == NULL) >> + return (err); >> + >> + /* >> + * ZFS_DEBUG_MODIFY must be enabled prior to boot so all >> + * arc buffers in the system have the necessary additional >> + * checksum data. However, it is safe to disable at any >> + * time. >> + */ >> + if (!(zfs_flags & ZFS_DEBUG_MODIFY)) >> + val &= ~ZFS_DEBUG_MODIFY; >> + zfs_flags = val; >> + >> + return (0); >> +} >> +TUNABLE_INT("vfs.zfs.debug_flags", &zfs_flags); >> +SYSCTL_PROC(_vfs_zfs, OID_AUTO, debug_flags, >> + CTLTYPE_UINT | CTLFLAG_MPSAFE | CTLFLAG_RW, 0, sizeof(int), >> + sysctl_vfs_zfs_debug_flags, "IU", "Debug flags for ZFS testing."); >> + >> /* >> * If destroy encounters an EIO while reading metadata (e.g. indirect >> * blocks), space referenced by the missing metadata can not be freed. >> > > > -- > Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADBaqmicAKJFTxYt1h7K-hzcm1gmG1rkzju=Bxji8WJ=jUi7mQ>