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