From owner-svn-src-all@freebsd.org Wed Nov 20 01:10:02 2019 Return-Path: Delivered-To: svn-src-all@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 955A01C37DF; Wed, 20 Nov 2019 01:10:02 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 47Hl3Z3BBHz490Z; Wed, 20 Nov 2019 01:10:02 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 43B9B1B099; Wed, 20 Nov 2019 01:10:02 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id xAK1A2gm031971; Wed, 20 Nov 2019 01:10:02 GMT (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id xAK1A2wS031970; Wed, 20 Nov 2019 01:10:02 GMT (envelope-from mckusick@FreeBSD.org) Message-Id: <201911200110.xAK1A2wS031970@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mckusick set sender to mckusick@FreeBSD.org using -f From: Kirk McKusick Date: Wed, 20 Nov 2019 01:10:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r354872 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: mckusick X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 354872 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Nov 2019 01:10:02 -0000 Author: mckusick Date: Wed Nov 20 01:10:01 2019 New Revision: 354872 URL: https://svnweb.freebsd.org/changeset/base/354872 Log: Add some KASSERTs. Reacquire a mutex after a kernel printf rather than holding it during the printf. White space cleanup. Sponsored by: Netflix Modified: head/sys/ufs/ffs/ffs_softdep.c Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Wed Nov 20 00:31:14 2019 (r354871) +++ head/sys/ufs/ffs/ffs_softdep.c Wed Nov 20 01:10:01 2019 (r354872) @@ -9881,6 +9881,9 @@ handle_workitem_remove(dirrem, flags) */ if ((dirrem->dm_state & RMDIR) == 0) { ip->i_nlink--; + KASSERT(ip->i_nlink >= 0, ("handle_workitem_remove: file ino " + "%ju negative i_nlink %d", (intmax_t)ip->i_number, + ip->i_nlink)); DIP_SET(ip, i_nlink, ip->i_nlink); ip->i_flag |= IN_CHANGE; if (ip->i_nlink < ip->i_effnlink) @@ -9902,6 +9905,8 @@ handle_workitem_remove(dirrem, flags) * to account for the loss of "..". */ ip->i_nlink -= 2; + KASSERT(ip->i_nlink >= 0, ("handle_workitem_remove: directory ino " + "%ju negative i_nlink %d", (intmax_t)ip->i_number, ip->i_nlink)); DIP_SET(ip, i_nlink, ip->i_nlink); ip->i_flag |= IN_CHANGE; if (ip->i_nlink < ip->i_effnlink) @@ -10802,7 +10807,6 @@ softdep_setup_inofree(mp, bp, ino, wkhd) FREE_LOCK(ump); } - /* * Called via ffs_blkfree() after a set of frags has been cleared from a cg * map. Any dependencies waiting for the write to clear are added to the @@ -12265,6 +12269,8 @@ softdep_load_inodeblock(ip) return; } ip->i_effnlink -= inodedep->id_nlinkdelta; + KASSERT(ip->i_effnlink >= 0, + ("softdep_load_inodeblock: negative i_effnlink")); FREE_LOCK(ump); } @@ -13429,9 +13435,9 @@ softdep_request_cleanup(fs, vp, cred, resource) roundup((fs->fs_dsize * fs->fs_minfree / 100) - fs->fs_cstotal.cs_nffree, fs->fs_frag)); } else { - UFS_LOCK(ump); printf("softdep_request_cleanup: Unknown resource type %d\n", resource); + UFS_LOCK(ump); return (0); } starttime = time_second;