Hi list,

currently the 9p implementation in qemu causes inode number collisions on 
guest OS level if the directory exported by 9p consists on host level of more 
than one file system being mounted inside that exported directory tree; which 
leads to severe misbehaviours on guest side with all kinds of applications.

The problem here is that when stat-ing a file/dir on guest side, 9p always 
returns the same device id for every file/dir of the exported directory (the 
virtual 9p device itself), while at the same time it simply provides to the 
guest the inode number of the requested file/dir from host side (+2).

Since the combination of (device-id, inode-nr) must be unique per file on any 
system, this needs to be fixed. Any suggestions?

As far as I can see it, either a) different device IDs should be returned to 
the guest for actually different file systems on host level, or b) 9p should 
remap the inode numbers appropriately such that the inode number range on 
guest side would always be isolated between the individual file systems 
accessed on host side.

Best regards,
Christian Schoenebeck

Reply via email to