svn commit: r362559 - in head: lib/libufs sbin/fsck_ffs
Kirk McKusick
mckusick at FreeBSD.org
Tue Jun 23 21:28:27 UTC 2020
Author: mckusick
Date: Tue Jun 23 21:28:26 2020
New Revision: 362559
URL: https://svnweb.freebsd.org/changeset/base/362559
Log:
The libufs library needs to track and free the new fs_si structure
in addition to the fs_csp structure that it references.
PR: 247425
Sponsored by: Netflix
Modified:
head/lib/libufs/libufs.h
head/lib/libufs/sblock.c
head/lib/libufs/type.c
head/sbin/fsck_ffs/setup.c
Modified: head/lib/libufs/libufs.h
==============================================================================
--- head/lib/libufs/libufs.h Tue Jun 23 21:17:13 2020 (r362558)
+++ head/lib/libufs/libufs.h Tue Jun 23 21:28:26 2020 (r362559)
@@ -49,7 +49,7 @@ struct uufsd {
int d_fd; /* raw device file descriptor */
long d_bsize; /* device bsize */
ufs2_daddr_t d_sblock; /* superblock location */
- struct csum *d_sbcsum; /* Superblock summary info */
+ struct fs_summary_info *d_si; /* Superblock summary info */
caddr_t d_inoblock; /* inode block */
uint32_t d_inomin; /* low ino, not ino_t for ABI compat */
uint32_t d_inomax; /* high ino, not ino_t for ABI compat */
Modified: head/lib/libufs/sblock.c
==============================================================================
--- head/lib/libufs/sblock.c Tue Jun 23 21:17:13 2020 (r362558)
+++ head/lib/libufs/sblock.c Tue Jun 23 21:28:26 2020 (r362559)
@@ -88,7 +88,7 @@ sbread(struct uufsd *disk)
disk->d_ufs = 2;
disk->d_bsize = fs->fs_fsize / fsbtodb(fs, 1);
disk->d_sblock = fs->fs_sblockloc / disk->d_bsize;
- disk->d_sbcsum = fs->fs_csp;
+ disk->d_si = fs->fs_si;
return (0);
}
Modified: head/lib/libufs/type.c
==============================================================================
--- head/lib/libufs/type.c Tue Jun 23 21:17:13 2020 (r362558)
+++ head/lib/libufs/type.c Tue Jun 23 21:28:26 2020 (r362559)
@@ -69,9 +69,10 @@ ufs_disk_close(struct uufsd *disk)
free((char *)(uintptr_t)disk->d_name);
disk->d_name = NULL;
}
- if (disk->d_sbcsum != NULL) {
- free(disk->d_sbcsum);
- disk->d_sbcsum = NULL;
+ if (disk->d_si != NULL) {
+ free(disk->d_si->si_csp);
+ free(disk->d_si);
+ disk->d_si = NULL;
}
return (0);
}
@@ -164,7 +165,7 @@ again: if ((ret = stat(name, &st)) < 0) {
disk->d_mine = 0;
disk->d_ufs = 0;
disk->d_error = NULL;
- disk->d_sbcsum = NULL;
+ disk->d_si = NULL;
if (oname != name) {
name = strdup(name);
Modified: head/sbin/fsck_ffs/setup.c
==============================================================================
--- head/sbin/fsck_ffs/setup.c Tue Jun 23 21:17:13 2020 (r362558)
+++ head/sbin/fsck_ffs/setup.c Tue Jun 23 21:28:26 2020 (r362559)
@@ -216,7 +216,7 @@ setup(char *dev)
disk.d_ufs = (sblock.fs_magic == FS_UFS1_MAGIC) ? 1 : 2;
disk.d_bsize = sblock.fs_fsize / fsbtodb(&sblock, 1);
disk.d_sblock = sblock.fs_sblockloc / disk.d_bsize;
- disk.d_sbcsum = sblock.fs_csp;
+ disk.d_si = sblock.fs_si;
if (skipclean && ckclean && sblock.fs_clean) {
pwarn("FILE SYSTEM CLEAN; SKIPPING CHECKS\n");
More information about the svn-src-all
mailing list