struct null_mount {
struct vnode * nullm_rootvp; /* Reference to root null_node (inode 1) */
struct vnode * nullm_secondvp; /* Reference to virtual directory vnode to wrap app
- bundles (inode 2) */
+ * bundles (inode 2) */
struct vnode * nullm_thirdcovervp; /* Reference to vnode that covers
- lowerrootvp (inode 3) */
+ * lowerrootvp (inode 3) */
struct vnode * nullm_lowerrootvp; /* reference to the root of the tree we are
- relocating (in the other file system) */
+ * relocating (in the other file system) */
uint32_t nullm_lowerrootvid; /* store the lower root vid so we can check
- before we build the shadow vnode lazily*/
+ * before we build the shadow vnode lazily*/
lck_mtx_t nullm_lock; /* lock to protect vps above */
uint64_t nullm_flags;
};
struct vnode * null_lowervp; /* VREFed once */
struct vnode * null_vnode; /* Back pointer */
uint32_t null_lowervid; /* vid for lowervp to detect lowervp getting recycled out
- from under us */
+ * from under us */
uint32_t null_myvid;
uint32_t null_flags;
};
int nullfs_destroy_lck(lck_mtx_t * lck);
int nullfs_uninit(void);
int null_nodeget(
- struct mount * mp, struct vnode * lowervp, struct vnode * dvp, struct vnode ** vpp, struct componentname * cnp, int root);
+ struct mount * mp, struct vnode * lowervp, struct vnode * dvp, struct vnode ** vpp, struct componentname * cnp, int root);
int null_hashget(struct mount * mp, struct vnode * lowervp, struct vnode ** vpp);
int null_getnewvnode(
- struct mount * mp, struct vnode * lowervp, struct vnode * dvp, struct vnode ** vpp, struct componentname * cnp, int root);
+ struct mount * mp, struct vnode * lowervp, struct vnode * dvp, struct vnode ** vpp, struct componentname * cnp, int root);
void null_hashrem(struct null_node * xp);
+int nullfs_getbackingvnode(vnode_t in_vp, vnode_t* out_vpp);
+
#define NULLVPTOLOWERVP(vp) (VTONULL(vp)->null_lowervp)
#define NULLVPTOLOWERVID(vp) (VTONULL(vp)->null_lowervid)
#define NULLVPTOMYVID(vp) (VTONULL(vp)->null_myvid)
-extern struct vnodeopv_desc nullfs_vnodeop_opv_desc;
+extern const struct vnodeopv_desc nullfs_vnodeop_opv_desc;
extern vop_t * nullfs_vnodeop_p;
-// int nullfs_install_filesys(void);
-// int nullfs_uninstall_filesys(void);
-
__END_DECLS
#ifdef NULLFS_DEBUG
#endif /* KERNEL */
-#endif
\ No newline at end of file
+#endif