[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] [WIP] [RFC ]Add initial 9pfs support for Win
Re: [Qemu-devel] [PATCH v2] [WIP] [RFC ]Add initial 9pfs support for Windows hosts v2
Wed, 13 Apr 2016 14:30:30 +0200
On Tue, 12 Apr 2016 09:52:00 +0200
Michael Fritscher <address@hidden> wrote:
> It was tested on Windows & Linux hosts, on the later no obvious regressions
> could be found. The guest was a Knoppix 7.6.0 live cd.
> This is WIP and a RFC - it isn't meant to be upstreamed yet. The error_printf
> are only for debugging and will be deleted in the final patch.
> There are some comments with "mifritscher" - I'm not quite sure how to handle
> these problems (e.g. on mingw, this in 32 bit, while on Linux this is 16 bit
> and so on). Additionally, some places from which I suspect problems are
> marked with a #warning.
> Changes against v1:
> * fixed open (added binary flag) -> read/write is fine now, file
> creation was fixed as well
> * added inode calculation using own crude hash algorithm
> * fixed xattr returning -1 + EOPNOTSUP -> fixes e.g. executing files
> * fixed unlinkat / remove für directories by trying rmdir as well
> * prepend 777 mode on files (for executing)
> What does work:
> * reading/writing "big" files (5MB, verified with md5sum)
> * creating files
> * executing files
> * mkdir
> * rm / rmdir
> * cp files
> * running gcc
> * cp first 250 files & directories from /etc
> * tar it from and to the 9p mount
> * create a 100 MB swap file and do a mkswap on it
> What does not work:
> * swapon - no real surprise (doesn't work on Linux as well - with the same
> error message) ;-) (swapon returns -1 EINVAL)
> * link / symlink (there is no real aequivalent for this on windows)
> * mknod (dito)
> * chown (dito - prepend success for compatibility)
> State of v1:
> What works:
> * mount
> * stat
> * chdir
> * readdir (aka ls)
> * read of small files (<10k)
> * overwrite
> What does not work:
> * create new files (in 90% problems with path handling (old path occurs)
> * read / probably write big files
> Signed-off-by: Michael Fritscher <address@hidden>
> On https://github.com/mifritscher/qemu/tree/9pfs_windows is a git tree with
> the patch.
> I gave a shot at xattr (try to include xattr stuff) but it ended up even more
> #ifdefs. So I gave up at this.
> Now I'm waiting on comments etc. If there are no big objections, I'll remove
> the debug output and make a patch which is meant for upstreaming.
> Thanks to everybody which helped me!
Hi Michael !
Impressive work ! :)
Since this is a big patch, it will take probably some time for me to review.
I'll comment on easy stuff first, and probably send more emails when I get
time to go deeper.
Anyway, this is a new feature and it won't go upstream until 2.6 is out.