On 8/22/06, Pawel Jakub Dawidek <pjd_at_freebsd.org> wrote: > Hi. > > I started porting the ZFS file system to the FreeBSD operating system. > > There is a lot to do, but I'm making good progress, I think. > > I'm doing my work in those directories: > > contrib/opensolaris/ - userland files taken directly from > OpenSolaris (libzfs, zpool, zfs and others) > > sys/contrib/opensolaris/ - kernel files taken directly from > OpenSolaris (zfs, taskq, callb and others) > > compat/opensolaris/ - compatibility userland layer, so I can > reduce diffs against vendor files > > sys/compat/opensolaris/ - compatibility kernel layer, so I can > reduce diffs against vendor files (kmem based on > malloc(9) and uma(9), mutexes based on our sx(9) locks, > condvars based on sx(9) locks and more) > > cddl/ - FreeBSD specific makefiles for userland bits > > sys/modules/zfs/ - FreeBSD specific makefile for the kernel > module > > You can find all those on FreeBSD perforce server: > > http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/pjd/zfs&HIDEDEL=NO > > Ok, so where am I? > > I ported the userland bits (libzfs, zfs and zpool). I had ztest and > libzpool compiling and working as well, but I left them behind for now > to focus on kernel bits. > > I'm building in all (except 2) files into zfs.ko (kernel module). > > I created new VDEV - vdev_geom, which fits to FreeBSD's GEOM > infrastructure, so basically you can use any GEOM provider to build your > ZFS pool. VDEV_GEOM is implemented as consumers-only GEOM class. > > I reimplemented ZVOL to also export storage as GEOM provider. This time > it is providers-only GEOM class. > > This way one can create for example RAID-Z on top of GELI encrypted > disks or encrypt ZFS volume. The order is free. > Basically you can put UFS on ZFS volumes already and it behaves really > stable even under heavy load. > > Currently I'm working on file system bits (ZPL), which is the most hard > part of the entire ZFS port, because it talks to one of the most complex > part of the FreeBSD kernel - VFS. > > I can already mount ZFS-created file systems (with 'zfs create' > command), create files/directories, change permissions/owner/etc., list > directories content, and perform few other minor operation. > > Some "screenshots": > > lcf:root:~# uname -a > FreeBSD lcf 7.0-CURRENT FreeBSD 7.0-CURRENT #74: Tue Aug 22 03:04:01 UTC 2006 root_at_lcf:/usr/obj/zoo/pjd/lcf/sys/LCF i386 > > lcf:root:~# zpool create tank raidz /dev/ad4a /dev/ad6a /dev/ad5a > > lcf:root:~# zpool list > NAME SIZE USED AVAIL CAP HEALTH ALTROOT > tank 35,8G 11,7M 35,7G 0% ONLINE - > > lcf:root:~# zpool status > pool: tank > state: ONLINE > scrub: none requested > config: > > NAME STATE READ WRITE CKSUM > tank ONLINE 0 0 0 > raidz1 ONLINE 0 0 0 > ad4a ONLINE 0 0 0 > ad6a ONLINE 0 0 0 > ad5a ONLINE 0 0 0 > > errors: No known data errors > > lcf:root:# zfs create -V 10g tank/vol > lcf:root:# newfs /dev/zvol/tank/vol > lcf:root:# mount /dev/zvol/tank/vol /mnt/test > > lcf:root:# zfs create tank/fs > > lcf:root:~# mount -t zfs,ufs > tank on /tank (zfs, local) > tank/fs on /tank/fs (zfs, local) > /dev/zvol/tank/vol on /mnt/test (ufs, local) > > lcf:root:~# df -ht zfs,ufs > Filesystem Size Used Avail Capacity Mounted on > tank 13G 34K 13G 0% /tank > tank/fs 13G 33K 13G 0% /tank/fs > /dev/zvol/tank/vol 9.7G 4.0K 8.9G 0% /mnt/test > > lcf:root:~# mkdir /tank/fs/foo > lcf:root:~# touch /tank/fs/foo/bar > lcf:root:~# chown root:operator /tank/fs/foo /tank/fs/foo/bar > lcf:root:~# chmod 500 /tank/fs/foo > lcf:root:~# ls -ld /tank/fs/foo /tank/fs/foo/bar > dr-x------ 2 root operator 3 22 sie 05:41 /tank/fs/foo > -rw-r--r-- 1 root operator 0 22 sie 05:42 /tank/fs/foo/bar > > The most important missing pieces: > - Most of the ZPL layer. > - Autoconfiguration. I need implement vdev discovery based on GEOM's taste > mechanism. > - .zfs/ control directory (entirely commented out for now). > And many more, but hey, this is after 10 days of work. > > PS. Please contact me privately if your company would like to donate to the > ZFS effort. Even without sponsorship the work will be finished, but > your contributions will allow me to spend more time working on ZFS. > > -- > Pawel Jakub Dawidek http://www.wheel.pl > pjd_at_FreeBSD.org http://www.FreeBSD.org > FreeBSD committer Am I Evil? Yes, I Am! > > > Hello Pawel, Thank you for your work. When will you release a patch so we can test this? Thanks, DanReceived on Tue Aug 22 2006 - 12:39:29 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:59 UTC