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=w3E2jzSirIaN0Socgiy2vcgN2GDTl 1bUFEQ8lshq9kGJqb2M7wrusjJQ/9EhnrObwwiEG5XoFBx/fu6rxFbv41EMvzOQv 2/lAgcKu2RmpT22VGG26X+dKIS9btqak6rWVCqcNmiAL1kN6SG4aKUzWd730Qn9h QuIcPjZRPifLtA= 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=A5DIkLWKSswsJqjvAgVhbQ7iLwE=; b=sTI NW2cKQF4hMVy1VUa13LrststyyzCSIUtgB1aVf5bB5LymZRRDg3fr2736kr3a9HA 5FwzKgjPPU4jwsbHKuS7WevJQbM8ZWPfc42dG+nYSjIiMKtJXpVCyDnHVuMPDYWU BhHxGtuy/qr5tkGFKgTlm8m6DlW69Vvnu8u+Jrl8= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , 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.9 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=Corinna, Hx-exchange-antispam-report-cfa-test:6043046, Hx-exchange-antispam-report-cfa-test:6042046, hesitate X-HELO: NAM01-BY2-obe.outbound.protection.outlook.com From: Bill Zissimopoulos To: "cygwin AT cygwin DOT com" Subject: Re: FUSE, symbolic links and special files Date: Tue, 20 Sep 2016 20:56:39 +0000 Message-ID: References: <20160825124512 DOT GE9783 AT calimero DOT vinschen DOT de> <20160826080551 DOT GA23935 AT calimero DOT vinschen DOT de> In-Reply-To: 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: 80916bdb-c6cf-4ab3-1e92-08d3e1989e4e x-microsoft-exchange-diagnostics: 1;CY1PR07MB2197;6:nD4nMHoyiPoIf2nnYDpjL0u0qZbFLab+MGet48lhTtZHQC8ZwE38upvWpgfOU8xWvxyToTp3J8uPH6kV0i4nlrCTfHnLXAPZXpTtZ8y694lbIS0+KH74ELeVvIYk5kvPQe0HQgMnANo2xWfegj+Y2k6OgbmKPvJMM+Kv3vOZyDO6By9VSfye1G68t7jeGcY/3SHY4FiKgz/huCBk/Yq6PoarIaKlqmmb42rVNyZs3EO6nguf2NRgwHdWw1k/BaVRS7jzRxGH4YGOZ6YpdDq9ImFnnP7F9bIEvGTvegVBMuRlW5HlQSforsFvX6E1ZAZy;5:2D5fgXgqYTfguCGBg5EQusxk5hQ1bzXslVQCVfR2Nifdzsh1s+kiYPUg8RhvREIPpy2XK1xdWrDawimFh3hhf8505la3RZ7/gtffqAYoT8Rlw+fM1+0uXg2aIijT3/js/b4NkWSa5zvJqxGX0a2I/w==;24:BATr2AxuD0X1jpUkc1ssTahFVWxEHklnCVldGipfL+1YOroXqu9GOftylwGmVrwvCG6MYAaINSRDKt+oXtstpuDDtqmaw2+bdrUTNMDghE4=;7:vwBq4wkum2ccwMZg3gJD4VYG8zTl/PpBkiGs3gYme788f7kSIcngUMS3oM5bUKS582vArK2AjKm6jAgMYtM1t0FU0GkzRohb9xn5aWpMhp8gzyMAPRLZkvmJYy3c6WhYPQwlParhdA6ddcfjYsFh2GAVe/pZdWPdpN91deJ9pcyHnpPE4hwlHgimXHQDQeIRpQpq1XchjoVS0qXP7Q65N3kTfZNLYLu+3Y1koSjnhsPKn2XlR4r0mEU8Hk1sxSSudy7Q1WU9e9iiyzjFHzassJEX3TuhozHIQjhxmU96lFHO0YIWeig5eNfFUzdUaBn9 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2197; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6042046)(6043046);SRVR:CY1PR07MB2197;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2197; x-forefront-prvs: 0071BFA85B x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(7916002)(24454002)(377454003)(199003)(189002)(19580405001)(19580395003)(1730700003)(7736002)(81156014)(110136003)(6116002)(305945005)(8676002)(3846002)(87936001)(102836003)(450100001)(107886002)(2906002)(586003)(7846002)(5660300001)(5002640100001)(66066001)(97736004)(8936002)(11100500001)(81166006)(77096005)(122556002)(68736007)(189998001)(106116001)(10400500002)(106356001)(2950100001)(2900100001)(92566002)(36756003)(105586002)(99286002)(5640700001)(101416001)(93886004)(3660700001)(76176999)(54356999)(2351001)(3280700002)(2501003)(86362001)(50986999)(94096001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR07MB2197;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 Content-Type: text/plain; charset="utf-8" Content-ID: <5CD5CCBF4FE0034A8FB1D299D0862DAF AT namprd07 DOT prod DOT outlook DOT com> MIME-Version: 1.0 X-OriginatorOrg: navimatics.com X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2016 20:56:39.2687 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 21071be9-4f9a-413b-89ac-8353a5d2410a X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2197 X-IsSubscribed: yes Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id u8KKvECM017351 On 8/26/16, 4:59 PM, cygwin-owner AT cygwin DOT com Bill Zissimopoulos wrote: >On 8/26/16, 11:05 AM, Corinna Vinschen wrote: > >>On Aug 25 19:04, Bill Zissimopoulos wrote: >>>- The first case is during the processing of NtCreateFile (without the >>> FILE_OPEN_REPARSE_POINT flag set). >> >>This case doesn't matter to us. Cygwin always opens the file with >>FILE_OPEN_REPARSE_POINT set... >> >>> - The second case is through direct manipulation of the reparse point >>> using FSCTL_GET_REPARSE_POINT, FSCTL_SET_REPARSE_POINT and >>> FSCTL_DELETE_REPARSE_POINT. >>> >>> Let us consider the expected behavior of an NFS_SPECFILE_LNK reparse >>>point >>> (this is speculation) during NtCreateFile: >>> >>> - On NTFS prior to Win8: >>> - STATUS_IO_REPARSE_TAG_NOT_HANDLED >> >>...so this shouldn't happen to us, right? > >I think so. > >I will continue with the implementation/testing of reparse points and >report back when I have more. I have finally completed the implementation of reparse points for WinFsp. I have also implemented NFS reparse point support for WinFsp-FUSE. I tested this implementation with Cygwin although my testing was general command line use and not rigorous. For this purpose I cobbled together a patch for Cygwin; the patch is low quality and I hesitate to post it here, but I can if so desired. Effectively I changed the implementation of Cygwin’s mknod_worker, symlink_info::check_reparse_point and readdir_check_reparse_point to understand and use NFS reparse points. I am unclear on how to proceed from here. Although I do not understand the Cygwin internals well enough and have rather limited time at the moment I could try cleaning up the patch and officially submitting. I am also thinking that using reparse points for POSIX special files on other file systems that support it (i.e. NTFS) may be something that the list should consider. Bill