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