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

Re: Supermount i kompilacja kernela



Nastał dzień: Thu, 26 Sep 2002 18:26:04 +0200
gdy Maciek Paszta <paszczi@go2.pl> napisał/ła to:

> Miałem podobne problemy z kompilacją sterowników supermount'a ale po 
> załadowaniu wszystkich łatek z adresu 

Czy mówiąc o "wszystkich" masz na myśli np. supermount, supermount-2 i *-3?

> people.mandrakesoft.com/~quintela/supermount/2.4.18/
> 
> wszystko zaczęło działać(tak na marginesie właściwie to przestałem się z tym 
> użerać jakieś min temu.

Zwracam się do wszystkich bo mi coś dziwnego się dzieje. Przy kompilacji wyskakuje:

dentry_operations.c: In function `supermount_dentry_revalidate':
dentry_operations.c:26: `current' undeclared (first use in this function)
dentry_operations.c:26: (Each undeclared identifier is reported only once
dentry_operations.c:26: for each function it appears in.)
dentry_operations.c:28: warning: implicit declaration of function `preempt_schedule'
make[4]: *** [dentry_operations.o] Błąd 1

IMHO to znaczy że coś jest źle w 26 i 28 linijce tego pliku, tak? No dobra, sprawdzam ten plik:

static int
supermount_dentry_revalidate(struct dentry *dentry, int flags)
{
        struct dentry *subd;
        int rc = 1;

        if (subfs_go_online(dentry->d_sb))
                goto bad_dentry;
        spin_lock(&dcache_lock);         // To jest 26 linijka
        if (dentry->d_inode && is_inode_obsolete(dentry->d_inode)) {
                spin_unlock(&dcache_lock); //A to 28...
                goto bad_dentry;
        }
        spin_unlock(&dcache_lock);
        subd = get_subfs_dentry(dentry);
        if (IS_ERR(subd))
                goto bad_dentry;

        if (subd->d_op && subd->d_op->d_revalidate)
                rc = subd->d_op->d_revalidate(subd, flags);

        dput(subd);
out:
        subfs_go_inactive(dentry->d_sb);
        return rc;
bad_dentry:
        rc = 0;
        goto out;
}

I tam nic nie ma o `current' ani o `preempt_schedule'. Sprawdziłem też wszystkie pliki *.h które są włączone inludem (i includy includów) i tam nie ma nic o takich nazwach. Skąd to się bierze??

cayco



Reply to: