xfs
[Top] [All Lists]

Re: CVS server broken

To: "Andi Kleen" <ak@xxxxxxx>
Subject: Re: CVS server broken
From: Steve Lord <lord@xxxxxxx>
Date: Mon, 19 Jun 2000 12:34:31 -0500
Cc: Russell Cattelan <cattelan@xxxxxxxxxxx>, linux-xfs@xxxxxxxxxxx
In-reply-to: Message from "Andi Kleen" <ak@suse.de> of "Mon, 19 Jun 2000 18:46:06 +0200." <20000619184606.A6580@gruyere.muc.suse.de>
Sender: owner-linux-xfs@xxxxxxxxxxx
> 
> cvs server: cannot open directory /cvs/linux-2.4-xfs/linux/scripts/usb: No su
ch file or directory
> cvs server: skipping directory linux/scripts/usb
> ak@bert:~/lsrc/sgi/linux-2.4-xfs > 
> 
> Also either the VFS interface is broken or it is missing ksyms (linvfs readli
nk
> wants to use lookup_dentry, but that's not exported and all the other fs
> use a different function for that) 
> 
> 
> -Andi

Something really odd is going on in the process of exporting things to
the cvs tree - I presume you mean linvfs_follow_link(), it used to use
lookup_dentry, it now looks like this:

int linvfs_follow_link(struct dentry *dentry,
                                   struct nameidata *nd)
{
        vnode_t *vp;
        uio_t   *uio;
        iovec_t iov;
        int     error = 0;
        char    *link;

        ASSERT(dentry);
        ASSERT(nd);

        link = (char *)kmalloc(MAXNAMELEN+1, GFP_KERNEL);
        if (!link) return -ENOMEM;

        uio = (uio_t*)kmalloc(sizeof(uio_t), GFP_KERNEL);
        if (!uio) {
                kfree_s(link, MAXNAMELEN+1);
                return -ENOMEM;
        }

        vp = LINVFS_GET_VP(dentry->d_inode);
        ASSERT(vp);

        iov.iov_base = link;
        iov.iov_len = MAXNAMELEN;

        uio->uio_iov = &iov;
        uio->uio_offset = 0;
        uio->uio_segflg = UIO_SYSSPACE;
        uio->uio_resid = MAXNAMELEN;

        VOP_READLINK(vp, uio, NULL, error);
        if (error) {
                kfree_s(uio, sizeof(uio_t));
                kfree_s(link, MAXNAMELEN+1);
                return error;
        }

        link[MAXNAMELEN - uio->uio_resid] = '\0';
        kfree_s(uio, sizeof(uio_t));

        error = vfs_follow_link(nd, link);
        kfree_s(link, MAXNAMELEN+1);
        return error;
}

lookup_dentry went away when we moved to 2.4.0-test1.

I am downloading the cvs tree as I type.

Steve



<Prev in Thread] Current Thread [Next in Thread>