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.

Reply via email to