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: