From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33889) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqJwf-0007Xo-C5 for qemu-devel@nongnu.org; Wed, 13 Apr 2016 08:31:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aqJwc-0002y5-6j for qemu-devel@nongnu.org; Wed, 13 Apr 2016 08:30:57 -0400 Received: from e06smtp11.uk.ibm.com ([195.75.94.107]:51999) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqJwb-0002y1-U7 for qemu-devel@nongnu.org; Wed, 13 Apr 2016 08:30:54 -0400 Received: from localhost by e06smtp11.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 13 Apr 2016 13:30:51 +0100 Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 323ED17D805A for ; Wed, 13 Apr 2016 13:31:20 +0100 (BST) Received: from d06av03.portsmouth.uk.ibm.com (d06av03.portsmouth.uk.ibm.com [9.149.37.213]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u3DCUZcK26542158 for ; Wed, 13 Apr 2016 12:30:35 GMT Received: from d06av03.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av03.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u3DCUYot028670 for ; Wed, 13 Apr 2016 06:30:35 -0600 Date: Wed, 13 Apr 2016 14:30:30 +0200 From: Greg Kurz Message-ID: <20160413143030.551bc877@bahia.huguette.org> In-Reply-To: <1460447520-12499-1-git-send-email-michael@fritscher.net> References: <1460447520-12499-1-git-send-email-michael@fritscher.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2] [WIP] [RFC ]Add initial 9pfs support for Windows hosts v2 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Fritscher Cc: sw@weilnetz.de, aneesh.kumar@linux.vnet.ibm.com, mst@redhat.com, qemu-devel@nongnu.org On Tue, 12 Apr 2016 09:52:00 +0200 Michael Fritscher wrote: > It was tested on Windows & Linux hosts, on the later no obvious regressio= ns could be found. The guest was a Knoppix 7.6.0 live cd. >=20 > This is WIP and a RFC - it isn't meant to be upstreamed yet. The error_pr= intf are only for debugging and will be deleted in the final patch. >=20 > There are some comments with "mifritscher" - I'm not quite sure how to ha= ndle 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. >=20 > 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=C3=BCr directories by trying rmdir as well > * prepend 777 mode on files (for executing) >=20 > 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 >=20 > What does not work: > * swapon - no real surprise (doesn't work on Linux as well - with the s= ame 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) >=20 > State of v1: > What works: > * mount > * stat > * chdir > * readdir (aka ls) > * read of small files (<10k) > * overwrite >=20 > What does not work: > * create new files (in 90% problems with path handling (old path occur= s) > * read / probably write big files >=20 >=20 > Signed-off-by: Michael Fritscher > --- > On https://github.com/mifritscher/qemu/tree/9pfs_windows is a git tree wi= th the patch. >=20 > 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 rem= ove the debug output and make a patch which is meant for upstreaming. >=20 > Thanks to everybody which helped me! >=20 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