2012/9/22, OGAWA Hirofumi <hirof...@mail.parknet.co.jp>: > Namjae Jeon <linkinj...@gmail.com> writes: > >> - inode->i_ino = iunique(sb, MSDOS_ROOT_INO); >> + if (MSDOS_SB(sb)->options.nfs == FAT_NFS_LIMITED) >> + inode->i_ino = i_pos; >> + else >> + inode->i_ino = iunique(sb, MSDOS_ROOT_INO); >> inode->i_version = 1; >> err = fat_fill_inode(inode, de); >> if (err) { > > I think we don't need this. Because FH and ino is not necessary to have > relation. > > Can we re-introduce ->encode_fh() handler, and export i_pos again? With > this, I think we can get i_pos correctly. Otherwise, ino may not contain > all bits of i_pos. I already tried to fix this issue using encode_fh without stable ino before. But I reached conclusion that we should use stable inode number.
e.g. If we rebuild inode number using i_pos of fh, inode number is changed by i_unique. And It is not match with inode number of FH on NFS client. So estale error will happen. Thanks. > -- > 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/