tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: ataraid(4) and VOP_OPENing the same block device
Once again not really on the point here, but still a little mistake ...
On Fri Sep 12 2008 at 05:36:49 +0200, Juan RP wrote:
> error = bdevvp(dev, &vp);
> if (error) {
> kmem_free(adv, sizeof(struct ataraid_disk_vnode));
> return NULL;
> }
> error = VOP_OPEN(vp, FREAD|FWRITE, NOCRED);
> if (error) {
> vput(vp);
> kmem_free(adv, sizeof(struct ataraid_disk_vnode));
> return NULL;
> }
> error = vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
> if (error) {
> vrele(vp);
> kmem_free(adv, sizeof(struct ataraid_disk_vnode));
> return NULL;
> }
> VOP_UNLOCK(vp, 0);
Hope you don't have any errors ;)
(and, imho, LK_RETRY shouldn't check for return value)
Home |
Main Index |
Thread Index |
Old Index