there are several places in p9p where the code depends on this
sort of code:
if (!(oldqid.path = newqid.path && qid.vers == newqid.vers))
process_changed_directory();
however on solaris and linux, qid.vers is always zero and qid.path depends
only on the device and inode. so if i cd $dir ; touch newfile this test
oldqid.path = newqid.path && qid.vers == newqid.vers
evaluates to zero.
what i would like to do is modify _p9dir to do something with
qid.vers, at least for directories. it doesn't seem as if there's an easy
way to get at the file version¹ out of the linux kernel, though there
are some patches floating around for linux 2.4. i was thinking that
perhaps using the directory mtime or ctime would be a good start.
any ideas?
- erik
¹ file versions are mantained at least reiserfs
/usr/include/linux/reiserfs_fs.h:912
on linux 2.6.14.