Hello lists,

Is this mailing list still active, are there better places to ask?

So we are trying to remove our list of private.exports functions we use, since that no longer works with BigSur.

For example:

vnode_iocount()

Used to avoid deadlock, it will call it async if the value is 1, otherwise call it directly. Frustratingly, hfs source call it without any magic, but I assume kextloading checks for com.apple and allows Private.export functions. Not sure I can think of an alternate method, but I really don't want to ((unsigned long *)vnode)[44] - that is so hacky.

VFS_ROOT()
Get the root of a given mount_t. VFS_ROOT itself is gone, and vfs_vnodecovered() is in private. But I think I can call vfs_stat(mount)->mounted_on -> vnode_lookup(). Feels a bit inefficient, but it should work. We don't call it too often.

cpuid_info()
Replace with inline asm.

build_path()
Copy paste in build_path() code into own. Code duplication isn't too bad.

kauth_cred_getgroups()
Not seeing a way around this one. Run without additional groups?

vfs_context_kernel()
Not seeing a way around this one.

vnode_lookupat()
Given a dvp, find a file. Re-write to build path from dvp to root, creating full path, then call vnode_lookup(). should be possible.

bsd_hostname()
Not seeing a way around this one. Ask userland for a hostname? (Just used as identifier in multi-host failover reporting.)


Can anyone think of methods around missing functions, or some other clever things? The goal is to run on BigSur, but also ARM.

Sincerely,

Lund





_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list      (Filesystem-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/filesystem-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to