ZFS port to FreeBSD: 2nd patchset available.
Yoshihiro Ota
ota at j.email.ne.jp
Mon Mar 5 05:27:14 UTC 2007
On Sun, 4 Mar 2007 13:38:01 +0100
Pawel Jakub Dawidek <pjd at FreeBSD.org> wrote:
> Please report any problems ('it works without problems!' is nice too).
>
> Good luck.
I just started trying the 1st patchset about a week ago. There is no reason why not to try the 2nd patchset.
Well, here is how I did it.
1. Since I had the 1st patch sets, void it first via reverse patch.
% patch -R -p0 < zfs_20061117.patch
2. There were some conflict/failure; I deleted them.
% rm files-that-reverse-patch-failed
3. Update source tree to recover deleted files.
% cvs up
4. Apply the 2nd patchset.
% patch -p0 < zfs_20070303.patch
5. I somehow got compile error so that I needed to fix it.
% patch -p0 < zfs-patchset2-fix.diff
atomic_cas_ptr returns (void*) and winner is (dnode_t *).
For some reason, the compiler complained and I needed to cast.
"make kernel" was successful and I rebooted and verified that I could load zfs module. And then, I ran out of time; I will try it again later.
Thank you for your hard work.
Regards,
Hiro
-------------- next part --------------
--- sys/contrib/opensolaris/uts/common/fs/zfs/dnode.c.orig2 Sun Mar 4 23:09:11 2007
+++ sys/contrib/opensolaris/uts/common/fs/zfs/dnode.c Sun Mar 4 23:09:32 2007
@@ -605,7 +605,7 @@
dnode_t *winner;
dn = dnode_create(os, (dnode_phys_t *)db->db.db_data+idx,
db, object);
- winner = atomic_cas_ptr(&children_dnodes[idx], NULL, dn);
+ winner = (dnode_t*)atomic_cas_ptr(&children_dnodes[idx], NULL, dn);
if (winner != NULL) {
dnode_destroy(dn);
dn = winner;
More information about the freebsd-fs
mailing list