The problem appears to be in the upstream ntfs-3g implementation (parse_mount_options in src/ntfs-3g.c, for both 1.2216 and 1.2310), which has:
if (ctx->atime == ATIME_RELATIVE && strappend(&ret, "relatime,")) goto err_exit;
else if (ctx->atime == ATIME_ENABLED && strappend(&ret, "atime,")) goto err_exit;
else if (strappend(&ret, "noatime,")) goto err_exit;
Since strappend returns 0 on success, if atime == ATIME_RELATIVE or ATIME_ENABLED, the first two clauses will always return false, so the last case is always reached.
The problem appears to be in the upstream ntfs-3g implementation (parse_ mount_options in src/ntfs-3g.c, for both 1.2216 and 1.2310), which has:
if (ctx->atime == ATIME_RELATIVE && strappend(&ret, "relatime,"))
goto err_exit;
goto err_exit;
goto err_exit;
else if (ctx->atime == ATIME_ENABLED && strappend(&ret, "atime,"))
else if (strappend(&ret, "noatime,"))
Since strappend returns 0 on success, if atime == ATIME_RELATIVE or ATIME_ENABLED, the first two clauses will always return false, so the last case is always reached.
Don't have time to patch and submit upstream.