Date: Mon, 27 Aug 2007 00:23:13 -0700 (PDT) From: Jeremy Chadwick <koitsu@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/115853: diskcheckd runs constantly rather than at interval specified Message-ID: <20070827072314.071961CC030@mx01.sc1.parodius.com> Resent-Message-ID: <200708270750.l7R7o2Kp009192@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 115853 >Category: ports >Synopsis: diskcheckd runs constantly rather than at interval specified >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Aug 27 07:50:01 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Jeremy Chadwick >Release: FreeBSD 6.2-STABLE i386 >Organization: >Environment: System: FreeBSD eos.sc1.parodius.com 6.2-STABLE FreeBSD 6.2-STABLE #0: Mon Jun 25 13:30:53 PDT 2007 root@eos.sc1.parodius.com:/usr/obj/usr/src/sys/EOS i386 >Description: According to the diskcheckd manpage, the following configuration will cause diskcheckd to check (read) the ad0 disk once every 14 days: /dev/ad0 * 14 * I put the following in our /usr/local/etc/diskcheckd.conf file: /dev/ad4 * 7 * /dev/ad6 * 7 * And set `diskcheckd_enable="yes"` in /etc/rc.conf, then did /usr/local/etc/rc.d/diskcheckd start. However, it looks to me that diskcheckd is pounding away at each disk constantly, rather than "every 7 days". I started diskcheckd at approximately 23:45 on August 25th. Taken from our syslog: Aug 26 00:34:56 anubis diskcheckd[30472]: reached end of /dev/ad4 with 0 errors Aug 26 01:18:17 anubis diskcheckd[30472]: reached end of /dev/ad4 with 0 errors Aug 26 01:22:49 anubis diskcheckd[30472]: reached end of /dev/ad6 with 0 errors Aug 26 02:03:04 anubis diskcheckd[30472]: reached end of /dev/ad4 with 0 errors Aug 26 02:46:20 anubis diskcheckd[30472]: reached end of /dev/ad4 with 0 errors Aug 26 02:55:10 anubis diskcheckd[30472]: reached end of /dev/ad6 with 0 errors Aug 26 03:36:27 anubis diskcheckd[30472]: reached end of /dev/ad4 with 0 errors Aug 26 04:21:51 anubis diskcheckd[30472]: reached end of /dev/ad4 with 0 errors Aug 26 04:35:24 anubis diskcheckd[30472]: reached end of /dev/ad6 with 0 errors Aug 26 05:12:11 anubis diskcheckd[30472]: reached end of /dev/ad4 with 0 errors Aug 26 05:55:20 anubis diskcheckd[30472]: reached end of /dev/ad4 with 0 errors And so on, indefintely. top(1) shows diskcheckd either in physrd state (majority of the time) or sleep state (rarely). truss'ing the process shows: read(3,"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,65536) = 65536 (0x10000) read(4,"\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?"...,65536) = 65536 (0x10000) nanosleep({0.000000000}) = 0 (0x0) read(3,"\0\0\0\0\M-j\^C\0\0\M-u\^A\0\0\0"...,65536) = 65536 (0x10000) read(4,"\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?"...,65536) = 65536 (0x10000) nanosleep({0.000000000}) = 0 (0x0) read(3,"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,65536) = 65536 (0x10000) read(4,"\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?"...,65536) = 65536 (0x10000) And so on. It makes perfect sense that diskcheckd should immediately start a disk scan when it starts up, but the syslog entries above prove to me that once its done, it starts over immediately, rinse lather repeat. >How-To-Repeat: See above. >Fix: None that I know of. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070827072314.071961CC030>