Sunday Dec 06, 2009

The community fixed my OpenSolaris networking driver bug

I've been doing some nice upgrades to my home media server: I just put 4 2TB drives in it in a raidz configuration.  This now gives me over 5TB of fault-tolerant storage; if one of those disks fails, my data is still fine and I have time to buy a replacement drive and pop it into the machine so that ZFS can heal itself.

But I ran into a problem when trying to transfer my data from one machine to another.  I would try "zfs send <filesystem> | ssh zfs receive <receivingFilesystem>" of a filesystem that is perhaps 100GB large, but the transfer would never complete.  It seemed to go fine until maybe 10GB of content was sent, then the transfer would stall, and the sending side would complain of a time-out, then quit.  When I logged into the receiving machine (which I earlier wrote about here, so you can see the parts list), I found that it could no longer see the network.

I looked into it; turns out that there's an OpenSolaris bug with the RGE network driver, which is what my computer uses for its on-board Realtek Gigabit Ethernet circuitry.  The community really came through for me here.

Here's a discussion thread that talks about what is going on with the bug, and several versions of a fix that, after several iterations, did the trick for me.  I tried a couple of versions of the developer's fix, and finally one version worked like a charm.  I've used it to successfully transfer over a TB of data.  I just hope this fix makes it into an OpenSolaris build soon; the developer thinks it will take a few months for it to get accepted, which sounds sub-optimal for an open source project that is trying to get support from a community of helpers.  But 3 months is better than nothing, and I'm grateful that somebody created a fix.  Nice job, masa; thank you!



About

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle. What more do you need to know, really?

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today