|
|
|
|
| Inconsistent super block info |
|
|
|
[Original]
[Print]
[Top]
|
Hi,
I'm trying the below
struct nameidata nd; if(path_init(path, LOOKUP_FOLLOW|LOOKUP_POSITIVE, &nd)) rc = path_walk(path, &nd);
After I get the above info, when I check (nd.mnt->mnt_sb != nd.dentry->d_inode->i_sb), it is turning to be "True" - meaning nd.mnt->mnt_sb is not same as nd.dentry->d_inode->i_sb.
nd.mnt->mnt_sb and nd.dentry->d_inode->i_sb are supposed to be the same, right?
I'm trying this code on - Linux version 2.4.21-20.ELsmp, Red Hat Enterprise Linux AS release 3 (Taroon Update 3).
However, when I ran the same code on - Linux version 2.4.21-37.EL, Red Hat Enterprise Linux AS release 3 (Taroon Update 6) and in this case
nd.mnt->mnt_sb and nd.dentry->d_inode->i_sb are equal.
Is there something I'm missing or is there a difference b/w "taroon update 3" and "taroon update 6" in the way they handle the nameidata structure.
And what could be the reason for the super block pointer/info to be different in these 2 places - nd.mnt and dentry->d_inode?
Appreciate any help. -thanks
|
|
|
[Original]
[Print]
[Top]
|
|
|