Date: Sat, 12 Nov 2022 23:37:48 GMT From: Kirk McKusick <mckusick@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 5c7ba6bdf83f - main - Fix for tunefs(8) unable to add a UFS/FFS soft update journal. Message-ID: <202211122337.2ACNbmRk085074@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=5c7ba6bdf83fda82cce70f384e2ec8218f13002e commit 5c7ba6bdf83fda82cce70f384e2ec8218f13002e Author: Kirk McKusick <mckusick@FreeBSD.org> AuthorDate: 2022-11-12 23:36:07 +0000 Commit: Kirk McKusick <mckusick@FreeBSD.org> CommitDate: 2022-11-12 23:37:27 +0000 Fix for tunefs(8) unable to add a UFS/FFS soft update journal. The reported bug is UFS: bad file descriptor: soft update journaling can not be enabled on some FreeBSD-provided disk images – failed to write updated cg. The UFS library (libufs(3)) failed to reopen its disk descriptor when first attempting to update a cylinder group. The error only occurred when trying to add journaling to a filesystem whose first cylinder group was too full to hold the journal. PR: 259090 MFC after: 1 week Sponsored by: The FreeBSD Foundation --- lib/libufs/cgroup.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/libufs/cgroup.c b/lib/libufs/cgroup.c index 90b28eadad2c..2058d16e9b6d 100644 --- a/lib/libufs/cgroup.c +++ b/lib/libufs/cgroup.c @@ -268,6 +268,10 @@ cgwrite1(struct uufsd *disk, int cg) static char errmsg[BUFSIZ]; if (cg == disk->d_cg.cg_cgx) { + if (ufs_disk_write(disk) == -1) { + ERROR(disk, "failed to open disk for writing"); + return (-1); + } if (cgput(disk->d_fd, &disk->d_fs, &disk->d_cg) == 0) return (0); ERROR(disk, NULL);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202211122337.2ACNbmRk085074>