From owner-freebsd-embedded@freebsd.org Fri Sep 27 20:37:56 2019 Return-Path: Delivered-To: freebsd-embedded@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BBFFF12C3FB for ; Fri, 27 Sep 2019 20:37:56 +0000 (UTC) (envelope-from ray@ddteam.net) Received: from mail-vs1-xe35.google.com (mail-vs1-xe35.google.com [IPv6:2607:f8b0:4864:20::e35]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46g3X36LRqz4HqJ for ; Fri, 27 Sep 2019 20:37:55 +0000 (UTC) (envelope-from ray@ddteam.net) Received: by mail-vs1-xe35.google.com with SMTP id m22so2744655vsl.9 for ; Fri, 27 Sep 2019 13:37:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ddteam-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=evVAOLtBkkw309pT8y2uE2KkQxE3sBRM2i2leUhsxfY=; b=NYiBvPMAeW8xVAdddHAQGU+s6bMyZuGLci9d6G/jzEcpuFbuTc4jGsBe2Q9FEv5bIE CGLYkTsHAPSwIx8tBKHinGzKp+5/epC8Axlql7HJGNiY84LAit4RfKIo4TCgklR5bdWk laGIVvYFm42y/6ElW5hIURM25gKZZok1J5MT6auo9cQ+EO4nULtOvVXM+Bj1KhZWPuyt S8oSfQuZc93dCx1OxbvOZzqzyFigZDHWQYX3rc/7qyklh+x9F+kqE9vmlICpj0KJgLX1 o++LjoN1HXHNj+Z3Uj0dFHdczOQuKIW4KqRh/BshOgBXqfpuUicq8PqSbC1RYGYP7PRO Wlcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=evVAOLtBkkw309pT8y2uE2KkQxE3sBRM2i2leUhsxfY=; b=G+aWIBWyz+4u57ZAhvMcSPhOHL70/vxGDGeb/dkU/+ObmLXzGYBkRtjZMMQs0J5mg9 LGD/GhVt+J/ck+UZa9NO9tjUT1ngVZ2aMg27R7EJBnACSN0A5yUVSXzqWqp3EK71sm7l 1j+Q5MC8wGW7vXsVmP4g34rAM/vfjk/YIX67keto8WhNqfD3hJNiJIxSFt3eQtJZLg4g twG0+JK5AFWvvd9DaLsjkSlY3dG6DXwAvaHS/kvtm0FjwqdaXTEo7TQ9GapngrBRor6z wwTTYy66HWfWhD3vXybpvZqOXsQ08ixYLaSrViYu91AtUe3MIadxTGOX007RDVoB0026 EFWQ== X-Gm-Message-State: APjAAAVsLf5K0FY/oNR41aEV8WhYgacwfFTVJfM+Kd4itx2VkAEygLJQ fEfhaSktugkfUgAbrMNdUGhtn+Z79Eek1CxaRzJrGukNCtg= X-Google-Smtp-Source: APXvYqxi5ia8iFsxCLd9t+FykgC6vG/9SJdwLNv0rPUBTZ0pt3O6SqjXAKrIFuVnvGLDQRr7+jPbXek++LM5mzDHQFY= X-Received: by 2002:a67:b44b:: with SMTP id c11mr3497141vsm.137.1569616674782; Fri, 27 Sep 2019 13:37:54 -0700 (PDT) MIME-Version: 1.0 References: <5eba25eb-9ba4-0c93-27c8-e834491298ad@sentex.net> <83831ae6-9275-4f0c-a23d-c9cca3dc28f4@sentex.net> In-Reply-To: From: Oleksandr Rybalko Date: Fri, 27 Sep 2019 23:37:43 +0300 Message-ID: Subject: Re: watchdogd stat location To: mike tancsa Cc: Warner Losh , freebsd-embedded X-Rspamd-Queue-Id: 46g3X36LRqz4HqJ X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ddteam-net.20150623.gappssmtp.com header.s=20150623 header.b=NYiBvPMA; dmarc=none; spf=softfail (mx1.freebsd.org: 2607:f8b0:4864:20::e35 is neither permitted nor denied by domain of ray@ddteam.net) smtp.mailfrom=ray@ddteam.net X-Spamd-Result: default: False [-5.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[ddteam-net.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-embedded@freebsd.org]; DMARC_NA(0.00)[ddteam.net]; R_SPF_SOFTFAIL(0.00)[~all]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[ddteam-net.20150623.gappssmtp.com:+]; MIME_BASE64_TEXT(0.10)[]; RCVD_IN_DNSWL_NONE(0.00)[5.3.e.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-2.80)[ip: (-9.16), ipnet: 2607:f8b0::/32(-2.59), asn: 15169(-2.17), country: US(-0.05)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Sep 2019 20:37:56 -0000 /sbin and /usr may fail in many case. Maybe readdir, then rand stat? =D0=BF=D1=82, 27 =D0=B2=D0=B5=D1=80. 2019 =D0=BE 23:30 mike tancsa =D0=BF=D0=B8=D1=88=D0=B5: > On 9/27/2019 3:53 PM, Warner Losh wrote: > > > > > > > I am all for that too. Just something other than /etc or /var > > which are > > often mounted on ramdisk. > > > > > > I think that / is too special to cause disk IO to ever happen. Other > > dirs will sometimes not be in the cache.... The notion here, perhaps > > bogus, is that we want to check the root FS is sane. The stat(2) is a > > cheap way to do this that will eventually fail if / goes wonky enough. > > It's weak. > > > > > Would something like this buy any extra sanity ? or not worth it. I > guess fancier checks belong in a passed program > > > # diff -u watchdogd.c.orig watchdogd.c > --- watchdogd.c.orig 2019-09-27 16:27:14.456973000 -0400 > +++ watchdogd.c 2019-09-27 16:27:18.904885000 -0400 > @@ -364,9 +364,23 @@ > > if (test_cmd !=3D NULL) > failed =3D system(test_cmd); > - else > - failed =3D stat("/etc", &sb); > - > + else { > + > + srand(time(NULL)); > + switch(rand() % 4) { > + case 0: > + failed =3D stat("/", &sb); > + break; > + case 1: > + failed =3D stat("/bin", &sb); > + break; > + case 2: > + failed =3D stat("/sbin", &sb); > + break; > + default: > + failed =3D stat("/usr", &sb); > + } > + } > error =3D watchdog_getuptime(&ts_end); > if (error) { > end_program =3D 1; > > > > > --=20 WBW ------- Rybalko Aleksandr