qemu-devel
[Top][All Lists]
Advanced

[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


From: Greg Kurz
Subject: Re: [Qemu-devel] [PATCH v2] [WIP] [RFC ]Add initial 9pfs support for Windows hosts v2
Date: 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.

Cheers.

--
Greg




reply via email to

[Prev in Thread] Current Thread [Next in Thread]