[pso] Tema4 Linux super_block
Andrei Costin
pso@cursuri.cs.pub.ro
Mon, 8 Aug 2005 08:09:38 -0700 (PDT)
--0-1110906433-1123513778=:70525
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Deci:
static struct super_block * pitix_get_sb(struct file_system_type *fs_type, int flags, const char *devname, void *data)
{
return get_sb_single(fs_type, flags, data, &pitix_fill_sb);
}
aici devname = "/dev/loopX", unde X incepe de la 0 si se incrementeaza in cazul in care a ramas agatat pitix.ko si vreau sa mai incarc odata pitix_again.ko
ciudat este ca flags ajunge la pitix_get_sb setat pe 0, cu toate ca fs_type->fs_flags are setat FS_REQUIRES_DEV la declaratie.
in pitix_fill_sb se ajunge cu sb->s_dev valoarea 10, pentru care __bdevname(sb->s_dev, name_buf) intoarce stringul "unknown-block(0, 10)"
So, de ce sb->s_bdev este NULL :((((((((((((((((( ?
PS: loop.ko este compilat, incarcat, etc.
Mersi anticipat.
Mugurel Ionut Andreica <mugurel_ionut@yahoo.com> wrote:
> Salut.
>
> Am urmatoarea problema. Am functia pitix_fill_super
> in care vreau sa completez super_block *sb.
>
> Initial vreau sa citesc superblocul de pe disc cu
> urmatorul apel:
> bh = __bread(sb->s_bdev, 4096, 0); // superblocul pe
> disc are 4096 octeti, si e primul bloc.
>
> Problema e ca *sb ajunge in fill_super cu sb->s_bdev
> == NULL.
>
> Am incercat sa fac sb->s_bdev = bdget(sb->);, care
> returna un pointer valid, dar orice access la acesta
> crash-a la fel.
>
> Vreo sugestie pls?
Presupun ca ai setat fs_flags din file_system_type
la FS_REQUIRES_DEV , nu ?
Altceva nu imi trece prin minte..
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________
pso mailing list
pso@cursuri.cs.pub.ro
http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
--0-1110906433-1123513778=:70525
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
<DIV>Deci:</DIV>
<DIV>static struct super_block * pitix_get_sb(struct file_system_type *fs_type, int flags, const char *devname, void *data)<BR>{<BR> return get_sb_single(fs_type, flags, data, &pitix_fill_sb);<BR>}<BR> aici devname = "/dev/loopX", unde X incepe de la 0 si se incrementeaza in cazul in care a ramas agatat pitix.ko si vreau sa mai incarc odata pitix_again.ko</DIV>
<DIV> </DIV>
<DIV>ciudat este ca flags ajunge la pitix_get_sb setat pe 0, cu toate ca fs_type->fs_flags are setat FS_REQUIRES_DEV la declaratie.</DIV>
<DIV> </DIV>
<DIV>in pitix_fill_sb se ajunge cu sb->s_dev valoarea 10, pentru care __bdevname(sb->s_dev, name_buf) intoarce stringul "unknown-block(0, 10)"</DIV>
<DIV> </DIV>
<DIV>So, de ce sb->s_bdev este NULL :((((((((((((((((( ?</DIV>
<DIV> </DIV>
<DIV>PS: loop.ko este compilat, incarcat, etc.</DIV>
<DIV> </DIV>
<DIV>Mersi anticipat.</DIV>
<DIV><BR><B><I>Mugurel Ionut Andreica <mugurel_ionut@yahoo.com></I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">> Salut.<BR>> <BR>> Am urmatoarea problema. Am functia pitix_fill_super<BR>> in care vreau sa completez super_block *sb.<BR>> <BR>> Initial vreau sa citesc superblocul de pe disc cu<BR>> urmatorul apel:<BR>> bh = __bread(sb->s_bdev, 4096, 0); // superblocul pe<BR>> disc are 4096 octeti, si e primul bloc.<BR>> <BR>> Problema e ca *sb ajunge in fill_super cu sb->s_bdev<BR>> == NULL.<BR>> <BR>> Am incercat sa fac sb->s_bdev = bdget(sb->);, care<BR>> returna un pointer valid, dar orice access la acesta<BR>> crash-a la fel.<BR>> <BR>> Vreo sugestie pls?<BR><BR>Presupun ca ai setat fs_flags din file_system_type<BR>la FS_REQUIRES_DEV , nu ?<BR>Altceva nu imi trece prin minte..<BR><BR><BR>__________________________________________________<BR>Do You Yahoo!?<BR>Tired of spam? Yahoo! Mail has the best spam protection around
<BR>http://mail.yahoo.com <BR>_______________________________________________<BR>pso mailing list<BR>pso@cursuri.cs.pub.ro<BR>http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso<BR></BLOCKQUOTE><BR><BR><p>__________________________________________________<br>Do You Yahoo!?<br>Tired of spam? Yahoo! Mail has the best spam protection around <br>http://mail.yahoo.com
--0-1110906433-1123513778=:70525--