delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2016/06/22/15:44:11

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:to:subject:date:message-id:references
:in-reply-to:content-type:content-id:content-transfer-encoding
:mime-version; q=dns; s=default; b=etpemgisyF7QpUe16rDaE2TdDDzds
mQ5EvmQeKhDXx27OfvnEgUsdRPqMw7QFoK2mhrehwm64PBavrFMcd7i4jlmvoHHs
Js4vIumJsnKwJVTd+HKL4F0TcAO58aKrMKYqsmyPjoq+Pppob2x0CsX/6oAZfclo
QXngU6acIotFEA=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:to:subject:date:message-id:references
:in-reply-to:content-type:content-id:content-transfer-encoding
:mime-version; s=default; bh=OESSmSIJNpVKEzkHnuWeIZv9zzQ=; b=fTC
zLK3Dimwkfa1O5v1rpZXjD53wQncbpJ3j++3tREvtgJr+5a5dQjRwI/dNiR5g65O
Cxc4/KQ9w9n+iRmzcghgIKi9C/XMt91B1XgZg2yTXk9goI9sgv8W45eNhQ8Z5qGL
XtcGVaRvhz/cu+liBpyrfzxrkhK0XWqreEg9QSBs=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=1.2 required=5.0 tests=AWL,BAYES_00,CYGWIN_OWNER_BODY,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=no version=3.3.2 spammy=citizens, Herbert, Hx-exchange-antispam-report-cfa-test:6040130, Hx-exchange-antispam-report-cfa-test:6043046
X-HELO: na01-bn1-obe.outbound.protection.outlook.com
From: Bill Zissimopoulos <billziss AT navimatics DOT com>
To: "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com>
Subject: Re: FUSE for Cygwin
Date: Wed, 22 Jun 2016 19:43:40 +0000
Message-ID: <D3903007.94EF%billziss@navimatics.com>
References: <D389ABB9.931F%billziss AT navimatics DOT com> <57667FEF DOT 5070801 AT gmx DOT de> <D38C1E3D.9385%billziss AT navimatics DOT com> <57670140 DOT 7050001 AT gmx DOT de>
In-Reply-To: <57670140.7050001@gmx.de>
authentication-results: spf=none (sender IP is ) smtp.mailfrom=billziss AT navimatics DOT com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-office365-filtering-correlation-id: b8e61e2e-65cd-40ad-40a7-08d39ad58305
x-microsoft-exchange-diagnostics: 1;CY1PR07MB2198;6:YKxtAMgkGVYTqohcwP4wliD5crVY8YDeSO6UcFumZpuZm0RmIO5vKjop4i0RXv0dRlGNOod6Dk2lmFRf6BKTDVJDwZTNN1kPIBevaPvg7wmnh5qrLvfZCmQQyLoTXfDPls///TvWYxoewteZMqf3ufE7bzJ8gOxbq+biPYBlkhA3iV2Pc/MC7ja/7YxaOceu1ez0Q6SLbMEwJuZJH/nMaebMDYaceYwlyoQRoJs8p/3VwF5bV+2flH87a5I6VB4ulLeFYNsLD8d9XE0UDd58kpeGmdMzFloMfjx4Lli57NBvy/qewVvwB9FlVbF0fhbXGcPdbIZDLjb+9cEgbohSwQ==;5:iqac4l+UoZ8CFpmzbbQoLGtl7260O+6sF09PTo5T7P8MTLAcvQS0vwFdMhkaI9qIJ4pPAe4fX9Lm9FpSVRzsVTH8InVgSJgcshmXpzrpqUzPuer2snRGWLjEVb79j7DBZueFdONXwOUvDHAG9/K/9A==;24:i6V0s2DwkMbPRWIsq7WHIPEowhcdVjbNa9D1A0S/X/qHhkOyhO9Fc7HyVfYRqVKL5OgSs9gygRCxr2CZvaVImflrdUGtz9aMSK8LzXEBmuU=;7:dT02sOLwjk8YRgiHKPkpQ04cUM6VPDWiPybd3ZcmI96mfqWj+Ozc48xshYIPsIpA8jCZ2AoTL2lVbq26CMGe+EqNpIMUqcW2NIOZcm1wY17DbB1ASXJzbbUhelsOQy1iPtg9xw+ei17kDcnqAUyXaFqGUc+9UBp42CW2PnmAvnyOShBcb4fBmygpRP6TaY0FCa1gxGUFyofMArl4jrW/lZdzU3Z5JzdvsCFynjfKVh0CfVOi51TAzHArd/6UPt9f7cifkoMihT4FmeP08o2Bhg==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2198;
x-microsoft-antispam-prvs: <CY1PR07MB2198392AF41C444977ECC090BC2C0 AT CY1PR07MB2198 DOT namprd07 DOT prod DOT outlook DOT com>
x-exchange-antispam-report-test: UriScan:(26323138287068)(166708455590820);
x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041072)(6043046);SRVR:CY1PR07MB2198;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2198;
x-forefront-prvs: 0981815F2F
x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(7916002)(199003)(377454003)(24454002)(189002)(2906002)(586003)(36756003)(189998001)(7846002)(66066001)(554214002)(102836003)(8936002)(110136002)(6116002)(86362001)(3660700001)(7736002)(305945005)(3846002)(101416001)(97736004)(87936001)(92566002)(3280700002)(5640700001)(76176999)(107886002)(11100500001)(54356999)(50986999)(1730700003)(93886004)(15975445007)(99286002)(19580405001)(2950100001)(10400500002)(81156014)(8676002)(450100001)(122556002)(68736007)(2900100001)(77096005)(2351001)(105586002)(81166006)(19580395003)(2501003)(5002640100001)(106356001)(106116001)(3480700004)(94096001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR07MB2198;H:CY1PR07MB2199.namprd07.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en;
received-spf: None (protection.outlook.com: navimatics.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
MIME-Version: 1.0
X-OriginatorOrg: navimatics.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jun 2016 19:43:40.2740 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 21071be9-4f9a-413b-89ac-8353a5d2410a
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2198
X-IsSubscribed: yes
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id u5MJi6tc024755

Hi, Herbert:


On 6/19/16, 1:32 PM, "cygwin-owner AT cygwin DOT com on behalf of Herbert
Stocker" <cygwin-owner AT cygwin DOT com on behalf of hersto AT gmx DOT de> wrote:

>>>G) Case sensitivity.
>>
>> WinFsp (and Windows) allows for both case-sensitive and case-insensitive
>> file systems.
> > <snip>
>> FUSE file systems are marked as case-sensitive by default.
>
>If WinFsp marks FUSE file systems as case-sensitive then there is no
>issue with case sensitiity.
>
>However we should have a look into OSXFUSE, it also has to deal with
>case sensitivity. Let's see how they solved it. There's also MacFUSE
>and Fuse4X according to Wikipedia.

I am familiar with OSXFUSE as my primary development platform is OSX.
OSXFUSE has various extensions to FUSE. In this case a file system can
advertise that it is case insensitive by setting the case_insensitive bit
in fuse_conn_info (passed to fuse_operations::init).

As far as WinFsp-FUSE is concerned I have made it a command line option. I
am happy to change how this is done though and perhaps conform to the
OSXFUSE convention.

>>you would now make those Win32 processes 2nd class citizens,
>> as they would have to go through that intermediate process (which means
>>4
>> context switches per file system request for them).
>
>You are right. I did not think about this extra process. Performance
>wise Win32 processes would be 2nd class. i was just thinking about
>feature wise, where they don't lose.
>
> >>>>>>>
>Now this argument of yours makes me more biased towards mode (3). Let's
>pay with some design unprettiness (remember pipes) and have the better
>performance for both worlds.
>
>And besides, the translations are necessary anyway for mode (2).
>Except for the pipes and hardlinks, they need not be supported in
>mode (2).
>
>best regards,
>as before, i am looking forward to use WinFsp and have FUSE available
>for my Cygwin scripts and stuff. And even for windows processes.

Thanks, Herbert.

In the last few days I have also worked in a mode (3b): a Cygwin package
that contains a cygfuse-2.8.dll that knows how to interface with the rest
of the WinFsp machinery (FSD/DLL).

This makes WinFsp-FUSE usable for a variety of FUSE file systems and
libraries, including language bindings for Python, Perl, etc. For example,
I have a small patch for FUSEPY (Python bindings for FUSE), which
basically defines the Cygwin stat and statvfs structs using Python ctypes.
Other than that FUSEPY just runs. [There are some small issues to be
resolved, but the basis is there.]

The bigger question is whether the Cygwin community would want a package
like this. The obvious answer might be yes (I hope), but there is a large
caveat. WinFsp includes a kernel-mode driver that needs to be built using
Microsoft tools and signed using an EV certificate. In fact it looks like
those requirements will only get harder as time passes -- soon we may need
a sysdev account just to sign drivers. This means that the familiar model
of getting the source and compiling everything using Cygwin tools cannot
work here.

The source code for the cygfuse package can be found below. You will
notice that it is a rather thin layer on top of WinFsp-FUSE implemented in
the WinFsp DLL.

https://github.com/billziss-gh/winfsp/tree/master/opt/cygfuse

Bill


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019