From: Daeho Jeong <[email protected]>

In lower versions than macOS 10.12, they don't support clock_gettime
function. It breaks the build, so we need to fall back to the original
kernel version check algorithm, in that case.

Signed-off-by: Daeho Jeong <[email protected]>
---
 fsck/mount.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/fsck/mount.c b/fsck/mount.c
index 7c4c681..c928a15 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -975,6 +975,16 @@ int validate_super_block(struct f2fs_sb_info *sbi, enum 
SB_ADDR sb_addr)
                MSG(0, "Info: MKFS version\n  \"%s\"\n", c.init_version);
                MSG(0, "Info: FSCK version\n  from \"%s\"\n    to \"%s\"\n",
                                        c.sb_version, c.version);
+#if defined(__APPLE__)
+               if (!c.no_kernel_check &&
+                       memcmp(c.sb_version, c.version, VERSION_NAME_LEN)) {
+                       c.auto_fix = 0;
+                       c.fix_on = 1;
+                       memcpy(sbi->raw_super->version,
+                                       c.version, VERSION_NAME_LEN);
+                       update_superblock(sbi->raw_super, SB_MASK(sb_addr));
+               }
+#else
                if (!c.no_kernel_check) {
                        struct timespec t;
                        u32 prev_time, cur_time, time_diff;
@@ -1007,6 +1017,7 @@ int validate_super_block(struct f2fs_sb_info *sbi, enum 
SB_ADDR sb_addr)
                        update_superblock(sbi->raw_super, SB_MASK(sb_addr));
                }
 out:
+#endif
                print_sb_state(sbi->raw_super);
                return 0;
        }
-- 
2.33.0.685.g46640cef36-goog



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to