看板 DFBSD_submit 關於我們 聯絡資訊
:Hi all, :the patch http://leaf.dragonflybsd.org/~joerg/jail.patch includes :the jail enumeration code and jail_attach. It's partly based on :FreeBSD's code, some parts are written from scratch. :The jail_attach.2 man page is from the original submit of Paul Herman, :I send him a mail off-list about the license. : :Matt, could you have a look over the namecache related parts, I'm not :sure if they are correct. Is there a way to map a namecache entry back :to a path? We could avoid storing the path in struct prison and :reconstruct it on demand for jls. : :Joerg Yes, generating a path from a namecache pointer is triival. Just recurse up through the parent pointers and pull out the segment names from the namecache structures encountered, with one or two special cases when crossing mount points. So in your patch set you can tell nlookup_init() to get the path directly from user space and not copy it anywhere. Then in sysctl_jail_list() you can regenerate the path from the namecache pointer using a function similar to vn_fullpath() in kern/vfs_cache.c. In fact, you could probably take that function and split it into two pieces so you can call the second piece directly with the ncp rather then a vnode. -Matt Matthew Dillon <dillon@backplane.com>