Hi,

In "cfs_setup_sct_fp()" it appears we are not returning an error if someone else attached an fp before we could. I would think setting error to something like EAGAIN so the caller know to retry it?

        if (hp->sct_fp != NULL) {
                UNLOCK_COND_LOCK(&hp->sct_statelock);

printk(KERN_WARNING "cfs_setup_sct_fp: Found sct_fp, must undo mine\n");
                /* Someone else attached an fp before we could */
                if (filp->f_op && filp->f_op->release)
                        filp->f_op->release(hp->sct_ip, filp);
                dput(filp->f_dentry);
                fops_put(filp->f_op);
                kfree(filp);
                error = -EAGAIN;
        } else {
                hp->sct_fp = filp;
                UNLOCK_COND_LOCK(&hp->sct_statelock);
        }

out:
        return error;
}


--
John F. Steinman