aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/makefs
diff options
context:
space:
mode:
authorKirk McKusick <mckusick@FreeBSD.org>2025-01-28 01:39:45 +0000
committerKirk McKusick <mckusick@FreeBSD.org>2025-02-10 07:38:51 +0000
commitdfe803fdbc54e65aaf23c56d53eeeefdef8e42aa (patch)
tree3b10f17fb8af124679b96a4606eb38161fa99883 /usr.sbin/makefs
parentef6b3c58883d5746084d0a5f7013d9851f232f73 (diff)
Defer the January 19, 2038 date limit in UFS1 filesystems to February 7, 2106
Standardize the definition of a UFS dinode. Differential Revision: https://reviews.freebsd.org/D48472 (cherry picked from commit 1111a44301da39d7b7459c784230e1405e8980f8) (cherry picked from commit aa90fbed151de512ab6e59f75df009533a15751f) (cherry picked from commit 256389eaf158acaf67f0530764be8af68edee78c) (cherry picked from commit 6cd973d903c8f214d84daf91eb75047631bf1618) (cherry picked from commit e1ebda4458bbaf7d85fb803e20f3afc5441f24d9) (cherry picked from commit 6f87402a02f0801942fe8f0d9a8f7f3e04dfbb01) Approved-by: re (cperciva)
Diffstat (limited to 'usr.sbin/makefs')
-rw-r--r--usr.sbin/makefs/ffs.c22
-rw-r--r--usr.sbin/makefs/ffs/ufs_inode.h81
2 files changed, 49 insertions, 54 deletions
diff --git a/usr.sbin/makefs/ffs.c b/usr.sbin/makefs/ffs.c
index cc83f2f2d3d2..c42641fff778 100644
--- a/usr.sbin/makefs/ffs.c
+++ b/usr.sbin/makefs/ffs.c
@@ -108,7 +108,7 @@
#undef DIP
#define DIP(dp, field) \
((ffs_opts->version == 1) ? \
- (dp)->ffs1_din.di_##field : (dp)->ffs2_din.di_##field)
+ (dp)->dp1.di_##field : (dp)->dp2.di_##field)
/*
* Various file system defaults (cribbed from newfs(8)).
@@ -855,10 +855,10 @@ ffs_populate_dir(const char *dir, fsnode *root, fsinfo_t *fsopts)
/* build on-disk inode */
if (ffs_opts->version == 1)
- membuf = ffs_build_dinode1(&din.ffs1_din, &dirbuf, cur,
+ membuf = ffs_build_dinode1(&din.dp1, &dirbuf, cur,
root, fsopts);
else
- membuf = ffs_build_dinode2(&din.ffs2_din, &dirbuf, cur,
+ membuf = ffs_build_dinode2(&din.dp2, &dirbuf, cur,
root, fsopts);
if (debug & DEBUG_FS_POPULATE_NODE) {
@@ -944,11 +944,11 @@ ffs_write_file(union dinode *din, uint32_t ino, void *buf, fsinfo_t *fsopts)
in.i_number = ino;
in.i_size = DIP(din, size);
if (ffs_opts->version == 1)
- memcpy(&in.i_din.ffs1_din, &din->ffs1_din,
- sizeof(in.i_din.ffs1_din));
+ memcpy(&in.i_din.dp1, &din->dp1,
+ sizeof(in.i_din.dp1));
else
- memcpy(&in.i_din.ffs2_din, &din->ffs2_din,
- sizeof(in.i_din.ffs2_din));
+ memcpy(&in.i_din.dp2, &din->dp2,
+ sizeof(in.i_din.dp2));
if (DIP(din, size) == 0)
goto write_inode_and_leave; /* mmm, cheating */
@@ -1178,16 +1178,16 @@ ffs_write_inode(union dinode *dp, uint32_t ino, const fsinfo_t *fsopts)
ffs_rdfs(d, fs->fs_bsize, buf, fsopts);
if (fsopts->needswap) {
if (ffs_opts->version == 1)
- ffs_dinode1_swap(&dp->ffs1_din,
+ ffs_dinode1_swap(&dp->dp1,
&dp1[ino_to_fsbo(fs, ino)]);
else
- ffs_dinode2_swap(&dp->ffs2_din,
+ ffs_dinode2_swap(&dp->dp2,
&dp2[ino_to_fsbo(fs, ino)]);
} else {
if (ffs_opts->version == 1)
- dp1[ino_to_fsbo(fs, ino)] = dp->ffs1_din;
+ dp1[ino_to_fsbo(fs, ino)] = dp->dp1;
else
- dp2[ino_to_fsbo(fs, ino)] = dp->ffs2_din;
+ dp2[ino_to_fsbo(fs, ino)] = dp->dp2;
}
ffs_wtfs(d, fs->fs_bsize, buf, fsopts);
free(buf);
diff --git a/usr.sbin/makefs/ffs/ufs_inode.h b/usr.sbin/makefs/ffs/ufs_inode.h
index 67581dda3359..e84fa57f6540 100644
--- a/usr.sbin/makefs/ffs/ufs_inode.h
+++ b/usr.sbin/makefs/ffs/ufs_inode.h
@@ -39,11 +39,6 @@
* @(#)inode.h 8.9 (Berkeley) 5/14/95
*/
-union dinode {
- struct ufs1_dinode ffs1_din;
- struct ufs2_dinode ffs2_din;
-};
-
struct inode {
ino_t i_number; /* The identity of the inode. */
struct vnode *i_devvp; /* vnode pointer (contains fsopts) */
@@ -52,45 +47,45 @@ struct inode {
uint64_t i_size;
};
-#define i_ffs1_atime i_din.ffs1_din.di_atime
-#define i_ffs1_atimensec i_din.ffs1_din.di_atimensec
-#define i_ffs1_blocks i_din.ffs1_din.di_blocks
-#define i_ffs1_ctime i_din.ffs1_din.di_ctime
-#define i_ffs1_ctimensec i_din.ffs1_din.di_ctimensec
-#define i_ffs1_db i_din.ffs1_din.di_db
-#define i_ffs1_flags i_din.ffs1_din.di_flags
-#define i_ffs1_gen i_din.ffs1_din.di_gen
-#define i_ffs11_gid i_din.ffs1_din.di_gid
-#define i_ffs1_ib i_din.ffs1_din.di_ib
-#define i_ffs1_mode i_din.ffs1_din.di_mode
-#define i_ffs1_mtime i_din.ffs1_din.di_mtime
-#define i_ffs1_mtimensec i_din.ffs1_din.di_mtimensec
-#define i_ffs1_nlink i_din.ffs1_din.di_nlink
-#define i_ffs1_rdev i_din.ffs1_din.di_rdev
-#define i_ffs1_shortlink i_din.ffs1_din.di_shortlink
-#define i_ffs1_size i_din.ffs1_din.di_size
-#define i_ffs1_uid i_din.ffs1_din.di_uid
+#define i_ffs1_atime i_din.dp1.di_atime
+#define i_ffs1_atimensec i_din.dp1.di_atimensec
+#define i_ffs1_blocks i_din.dp1.di_blocks
+#define i_ffs1_ctime i_din.dp1.di_ctime
+#define i_ffs1_ctimensec i_din.dp1.di_ctimensec
+#define i_ffs1_db i_din.dp1.di_db
+#define i_ffs1_flags i_din.dp1.di_flags
+#define i_ffs1_gen i_din.dp1.di_gen
+#define i_ffs11_gid i_din.dp1.di_gid
+#define i_ffs1_ib i_din.dp1.di_ib
+#define i_ffs1_mode i_din.dp1.di_mode
+#define i_ffs1_mtime i_din.dp1.di_mtime
+#define i_ffs1_mtimensec i_din.dp1.di_mtimensec
+#define i_ffs1_nlink i_din.dp1.di_nlink
+#define i_ffs1_rdev i_din.dp1.di_rdev
+#define i_ffs1_shortlink i_din.dp1.di_shortlink
+#define i_ffs1_size i_din.dp1.di_size
+#define i_ffs1_uid i_din.dp1.di_uid
-#define i_ffs2_atime i_din.ffs2_din.di_atime
-#define i_ffs2_atimensec i_din.ffs2_din.di_atimensec
-#define i_ffs2_blocks i_din.ffs2_din.di_blocks
-#define i_ffs2_ctime i_din.ffs2_din.di_ctime
-#define i_ffs2_ctimensec i_din.ffs2_din.di_ctimensec
-#define i_ffs2_birthtime i_din.ffs2_din.di_birthtime
-#define i_ffs2_birthnsec i_din.ffs2_din.di_birthnsec
-#define i_ffs2_db i_din.ffs2_din.di_db
-#define i_ffs2_flags i_din.ffs2_din.di_flags
-#define i_ffs2_gen i_din.ffs2_din.di_gen
-#define i_ffs21_gid i_din.ffs2_din.di_gid
-#define i_ffs2_ib i_din.ffs2_din.di_ib
-#define i_ffs2_mode i_din.ffs2_din.di_mode
-#define i_ffs2_mtime i_din.ffs2_din.di_mtime
-#define i_ffs2_mtimensec i_din.ffs2_din.di_mtimensec
-#define i_ffs2_nlink i_din.ffs2_din.di_nlink
-#define i_ffs2_rdev i_din.ffs2_din.di_rdev
-#define i_ffs2_shortlink i_din.ffs2_din.di_shortlink
-#define i_ffs2_size i_din.ffs2_din.di_size
-#define i_ffs2_uid i_din.ffs2_din.di_uid
+#define i_ffs2_atime i_din.dp2.di_atime
+#define i_ffs2_atimensec i_din.dp2.di_atimensec
+#define i_ffs2_blocks i_din.dp2.di_blocks
+#define i_ffs2_ctime i_din.dp2.di_ctime
+#define i_ffs2_ctimensec i_din.dp2.di_ctimensec
+#define i_ffs2_birthtime i_din.dp2.di_birthtime
+#define i_ffs2_birthnsec i_din.dp2.di_birthnsec
+#define i_ffs2_db i_din.dp2.di_db
+#define i_ffs2_flags i_din.dp2.di_flags
+#define i_ffs2_gen i_din.dp2.di_gen
+#define i_ffs21_gid i_din.dp2.di_gid
+#define i_ffs2_ib i_din.dp2.di_ib
+#define i_ffs2_mode i_din.dp2.di_mode
+#define i_ffs2_mtime i_din.dp2.di_mtime
+#define i_ffs2_mtimensec i_din.dp2.di_mtimensec
+#define i_ffs2_nlink i_din.dp2.di_nlink
+#define i_ffs2_rdev i_din.dp2.di_rdev
+#define i_ffs2_shortlink i_din.dp2.di_shortlink
+#define i_ffs2_size i_din.dp2.di_size
+#define i_ffs2_uid i_din.dp2.di_uid
#undef DIP
#define DIP(ip, field) \