2012/9/24, OGAWA Hirofumi <hirof...@mail.parknet.co.jp>: > Namjae Jeon <linkinj...@gmail.com> writes: > >>> I see. fileid seems to be stat.ino on nfsd4. inode->i_ino is actually >>> just a hash key of inode hash (exception is only in audit, iirc). >>> >>> So, what happens if we set "stat->ino = i_pos" on fat_getattr(). >>> >>> int fat_getattr(struct vfsmount *mnt, struct dentry *dentry, struct >>> kstat >>> *stat) >>> { >>> struct inode *inode = dentry->d_inode; >>> generic_fillattr(inode, stat); >>> stat->blksize = MSDOS_SB(inode->i_sb)->cluster_size; >>> if (opts->nfs == FAT_NFS_LIMITED) { >>> /* Use i_pos for ino. This is used as fileid of nfs. */ >>> stat->ino = MSDOS_SB(inode->i_sb)->i_pos; > > stat->ino = fat_i_pos_read(MSDOS_SB(inode->i_sb), inode); > > Ouch, I forgot to use fat_i_pos_read(). > There is some unclear thing. When I see first mail, I think maybe you don't want to use i_pos for inode->ino. FAT allocate inode->ino from i_unique on server side and If NFS client use i_pos for inode->ino in fat_get_attr, inode numbers on each client/server will still be mismatched.
Would you plz give me hint ? Thanks OGAWA~. >>> } >>> return 0; >>> } >> Okay, Thanks for your help. >> I will share the result after checking. > -- > OGAWA Hirofumi <hirof...@mail.parknet.co.jp> > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/