tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Problems with raidframe under NetBSD-5.1/i386



        Hello.  Trying a quick patch now.  Will post answers tomorrow.
-thanks
-Brian

On Jan 6,  8:49pm, Greg Oster wrote:
} Subject: Re: Problems with raidframe under NetBSD-5.1/i386
} On Thu, 6 Jan 2011 18:33:58 -0800
} buhrow%lothlorien.nfbcal.org@localhost (Brian Buhrow) wrote:
} 
} >     Hello.  Ok.  I have more information, perhaps this is a known
} > issue. If not, I can file a bug.
} 
} Please, do file a PR... this is a new one.
} 
} >     the problem seems to be that if you partition a raid set with
} > gpt instead of disklabel, if a component of that raid set fails,  the
} > underlying component is held open even after raidframe declares it
} > dead. Thus, when you try to ask raidframe to do a reconstruct on the
} > dead component, it can't open the component because the component is
} > busy.
} 
} I think the culprit is in
} src/sys/dev/raidframe/rf_netbsdkintf.c:rf_find_raid_components() where
} in the: 
} 
}   if (wedge) {
}     ...
}     ac_list = rf_get_component(ac_list, dev,
}          vp, device_xname(dv), dkw.dkw_size);
}     continue;
}   }
} 
} case that little "continue" is not letting the execution reach the:
} 
}       /* don't need this any more.  We'll allocate it again
}          a little later if we really do... */
}       vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
}       VOP_CLOSE(vp, FREAD | FWRITE, NOCRED);
}       vput(vp);
} 
} code which would close the opened wedge. :(  Both 5.1 and -current
} suffer from the same issue (though the code in -current is slightly
} different).
} 
} Thanks for the investigation and report...
} 
} Later...
} 
} Greg Oster
} 
>-- End of excerpt from Greg Oster




Home | Main Index | Thread Index | Old Index