tarfs について (18)

とりあえず

		file->f_version = ++event;

はコメントアウツ。あまり何も考えずにざくざくヤッツケちゃってるんでデバッグが大変そうな気がするなぁ。
file.c はもう一つ残っている。

/home/rms/kernel/tarfs/src/file.c:68: error: 'generic_file_read' undeclared here (not in a function)

やれやれ。これは確かに存在しませんな。ちょっと微妙なのが例えば fs/read_write.c なんかで以下な定義があるんですが

const struct file_operations generic_ro_fops = {
	.llseek		= generic_file_llseek,
	.read		= do_sync_read,
	.aio_read	= generic_file_aio_read,
	.mmap		= generic_file_readonly_mmap,
	.sendfile	= generic_file_sendfile,
};

EXPORT_SYMBOL(generic_ro_fops);

do_sync_read で書き換えるのと generic_file_aio_read で書き換えるのと、どっちがビンゴなのでしょうか。なんとなくカンジ的には以下??

struct file_operations tarfs_file_operations = {
    llseek:		tarfs_file_lseek,
    read:		do_sync_read,
    mmap:		generic_file_readonly_mmap,
    open:		tarfs_open_file,
};

ってコトで file.c は OK らしいですが、次は inode.c らしい。