From nobody Thu Apr 27 16:52:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6hch6M4gz47PwS; Thu, 27 Apr 2023 16:52:52 +0000 (UTC) (envelope-from git@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) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q6hch5sNtz3m72; Thu, 27 Apr 2023 16:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682614372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sX8eEqdfUIl7hOdF/Owdh4pmtQ+CDJCcQSUKOXA7lL8=; b=xiP/umW2gpz3Wc9EMn2I05lAKWFf7Ow6g0UPHzVUyu1oj5iRGVYelsVxRwWz9NvCpCd81s ncJlMvNu4/W5KlVm/butmiDhYIfHtVlnyewlV+Rq0ybTkJ30EKxzA7zpq32gu5NkyfCleI 1ooqsa2GUUKepQZlUsMfORDLpbJwgHGnH0npmOg3NuPO0UojL2+t8sG0IwBYv8vpaTCGDJ W8Mg+39Qa3sV31/T+fpc2Qyehk8paZN+hwdwYEw3JOI+XSaYlzXYou7cprtd9td+HFvnjA e1xuAWtlEPfAoex/SVQrRTvnBSz24rss5kGTvXYelZrc65kPT5XisO48ukZzmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682614372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sX8eEqdfUIl7hOdF/Owdh4pmtQ+CDJCcQSUKOXA7lL8=; b=OHIaBdyhHY+AYDaOiVHA/NC3f52To2wu+UHcosw/jhDpA5VODSpxEVulmN5HOfNRGZhwFO tyfWT6CvFz6X0MpKGRgoEnZtEGey0cv5sLRd/gzYHWmnbDUw3Im+B6CBuPowqdnQm+KyrA cJlhDCRHv9aUAfAVS7HmpbSX1wq/ikSXdnikWZ621np/CR0lsFuw2w7uFy4SYsjwW+qS++ OuPi3AYG4UW5nyv0j9JAucXqB7uJ7VDJMyPnSCmn8YUVaTfvvLqKE2z9fktGZIQI2HMPwl 5KtIGutD5Fd5rajB9MNuNRxfRm6Y1KFmsdp0nLmY/Thi0O1InkOjoHZkfOkcCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682614372; a=rsa-sha256; cv=none; b=heIi9KbJaNG6p/BzSD2+fJRG2M46TLjp2KdPkGr+N0EmW39XRm8aNQ1sn7p63A3nWuXzgI ySsCoJAtfTPjubzE9kFRgKYXtUFWEd2n3P97UbOWohoxJ4PDqsj0uBbZizrDzIUmW75Gwv TuoWapSz0GFWJ4I185sCXKYEX1Xg8jzNzNU2PstlPgdVBcu+ob0ayFdf/1+DrQJQq5Ink3 a+U8fbF2QEGmyr2qCqtN/r5dz2bXtTQ1o+fYekGOw+PZ0eMrRtPLM+J20PaCDAqtBEY8wA Cn2bg5KP/p3LCWWQwTLvUjk2XsH7dZHG3HE+msOlKBQpTjjegbohrUICGTRhaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Q6hch4xGKzPyn; Thu, 27 Apr 2023 16:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33RGqq0e030208; Thu, 27 Apr 2023 16:52:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RGqqH3030207; Thu, 27 Apr 2023 16:52:52 GMT (envelope-from git) Date: Thu, 27 Apr 2023 16:52:52 GMT Message-Id: <202304271652.33RGqqH3030207@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: d74a8305b0ca - stable/13 - makefs: call brelse from bread List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d74a8305b0ca1b12b16b92146e8e40440d4e408e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d74a8305b0ca1b12b16b92146e8e40440d4e408e commit d74a8305b0ca1b12b16b92146e8e40440d4e408e Author: Ed Maste AuthorDate: 2023-03-13 21:00:20 +0000 Commit: Ed Maste CommitDate: 2023-04-27 16:45:37 +0000 makefs: call brelse from bread This matches NetBSD and rationalizes makefs with the kernel API. This reverts commit 370e009188ba90c3290b1479aa06ec98b66e140a. Reviewed by: mckusick Sponsored by: The FreeBSD Foundation Obtained from: NetBSD 0a62dad69f62, 0c4125e1a19f, cb6a5a3575fd Differential Revision: https://reviews.freebsd.org/D39070 (cherry picked from commit e5551216d8e563043248bc7f3cb1c75b2dbd9791) --- usr.sbin/makefs/ffs.c | 1 - usr.sbin/makefs/ffs/buf.c | 25 +++++++++++++++---------- usr.sbin/makefs/msdos/msdosfs_vnops.c | 1 - 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/usr.sbin/makefs/ffs.c b/usr.sbin/makefs/ffs.c index 448aa08b9d21..1eafa2bd00ef 100644 --- a/usr.sbin/makefs/ffs.c +++ b/usr.sbin/makefs/ffs.c @@ -1002,7 +1002,6 @@ ffs_write_file(union dinode *din, uint32_t ino, void *buf, fsinfo_t *fsopts) errno = bwrite(bp); if (errno != 0) goto bad_ffs_write_file; - brelse(bp); if (!isfile) p += chunk; } diff --git a/usr.sbin/makefs/ffs/buf.c b/usr.sbin/makefs/ffs/buf.c index 11b7c4b0f1f8..6caa3fd4fbc6 100644 --- a/usr.sbin/makefs/ffs/buf.c +++ b/usr.sbin/makefs/ffs/buf.c @@ -127,26 +127,31 @@ bwrite(struct buf *bp) { off_t offset; ssize_t rv; + size_t bytes; + int e; fsinfo_t *fs = bp->b_fs; assert (bp != NULL); offset = (off_t)bp->b_blkno * fs->sectorsize + fs->offset; + bytes = (size_t)bp->b_bcount; if (debug & DEBUG_BUF_BWRITE) - printf("%s: blkno %lld offset %lld bcount %ld\n", __func__, - (long long)bp->b_blkno, (long long) offset, - bp->b_bcount); - if (lseek(bp->b_fs->fd, offset, SEEK_SET) == -1) + printf("%s: blkno %lld offset %lld bcount %zu\n", __func__, + (long long)bp->b_blkno, (long long) offset, bytes); + if (lseek(bp->b_fs->fd, offset, SEEK_SET) == -1) { + brelse(bp); return (errno); - rv = write(bp->b_fs->fd, bp->b_data, bp->b_bcount); + } + rv = write(bp->b_fs->fd, bp->b_data, bytes); + e = errno; if (debug & DEBUG_BUF_BWRITE) printf("%s: write %ld (offset %lld) returned %lld\n", __func__, bp->b_bcount, (long long)offset, (long long)rv); - if (rv == bp->b_bcount) + brelse(bp); + if (rv == (ssize_t)bytes) return (0); - else if (rv == -1) /* write error */ - return (errno); - else /* short write ? */ - return (EAGAIN); + if (rv == -1) /* write error */ + return (e); + return (EAGAIN); } void diff --git a/usr.sbin/makefs/msdos/msdosfs_vnops.c b/usr.sbin/makefs/msdos/msdosfs_vnops.c index 198efae31a0e..ff470576ee79 100644 --- a/usr.sbin/makefs/msdos/msdosfs_vnops.c +++ b/usr.sbin/makefs/msdos/msdosfs_vnops.c @@ -501,7 +501,6 @@ msdosfs_wfile(const char *path, struct denode *dep, fsnode *node) cpsize = MIN((nsize - offs), blsize - on); memcpy(bp->b_data + on, dat + offs, cpsize); bwrite(bp); - brelse(bp); offs += cpsize; }