sparc64 hang with zfs v28
Roger Hammerstein
cheeky.m at live.com
Tue Mar 22 21:38:58 UTC 2011
> > Uhm, looks like r219089 changed some xcopy{in,out}() into
> > ddi_copy{in,out}(), i.e. copy{in,out}() into bcopy(), which
> > is just wrong for copying in data in from/out to userspace.
> > However, looking at the other uses of ddi_copy{in,out}() it
> > generally seems that ddi_copy{in,out}() should be defined to
> > copy{in,out}(). With the attached patch at least my simple
> > test cases works again. The one remaining xcopyout() in
> > zfs_ioctl.c then could be also replaced with a ddi_copyout().
> > Not sure how any of this manages to work on x86 :)
>
> Yeah, I found this as well and waiting for my test machine to be free to
> test it. Thanks.
This patch worked on my ultra 60. I rebuilt the kernel
falcon# kldstat
Id Refs Address Size Name
1 9 0xc0000000 b1f8c0 kernel
2 1 0xc10a2000 32e000 zfs.ko
3 1 0xc13d0000 104000 opensolaris.ko
falcon#
falcon# zpool status
pool: tank
state: ONLINE
status: The pool is formatted using an older on-disk format. The pool can
still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'. Once this is done, the
pool will no longer be accessible on older software versions.
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
da3 ONLINE 0 0 0
da6 ONLINE 0 0 0
errors: No known data errors
falcon#
falcon#
I zfs mounted tank and can ls and copy files to it, delete files.
Looks ok.
More information about the freebsd-sparc64
mailing list