NetBSD の tmpfs も調べてみる2009年02月03日 08時21分41秒

更に、FreeBSD の tmpfs のコードを調べていると、 For now, we do the linear lookup in the parent node. This has its own drawbacks. Not mentioning speed (that could be fixed by using hash), the real problem is the situation where several hardlinks exist in the dvp. But, I think this is fixable. とあった。つまり既知の問題ではあったわけだ。

i-node が同じと云う条件が必要にせよ、意図しないファイルが消えていくというのは恐いバグだ。

NetBSD の当該コードをみると、tmpfs_dir_lookup が使われている。


	dnode = VP_TO_TMPFS_DIR(dvp);
	node = VP_TO_TMPFS_NODE(vp);
	tmp = VFS_TO_TMPFS(vp->v_mount);
	de = tmpfs_dir_lookup(dnode, cnp);
	if (de == NULL) {
		error = ENOENT;
		goto out;
	}

こちらは、ディレクトリ内をファイル名で探す関数なので、FreeBSD のような問題は起きない。この問題は、FreeBSD 固有のようだ。

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2009/02/03/4097159/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。