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=J7GW9nKBrDvTxqTmItuOG/WKbSKOn LIXdQajZE4Kja2/Z8vU8ev2d2fHooibtVS+embY6kaT0b28oW//W2BTqOhzMDgLK QzCdJZh8dVewONX/NNArfndcddV+FWzYwu8C+in7OjnQhjBGZN51pBMhmvg6wBFL 2OTMDteZLfu/uI= 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=9Qyj540wKeORcTh/rdtFzB8oTjw=; b=dzn +JW9KjVNgYEuyicxRXp4PsVVw761Bj8p7h4LoqmDsZ4c48MX+cvrVGQNubFQzjUp /eJIq2h3V2x4NR7ycwMCXcB0ARps5sbQ8qxcMtx+aF/ArlrBk3v0CFu39G5fUYOc FygqYejECakAaxIqqCLiWPTwtLMcileZJQHNvO4E= 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.1 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=thick, misunderstand, VFS, jaltman AT secure-endpoints DOT com X-HELO: na01-bl2-obe.outbound.protection.outlook.com From: Bill Zissimopoulos To: "cygwin AT cygwin DOT com" Subject: Re: FUSE for Cygwin - was: Re: Fork and Windows Heap Date: Sat, 18 Jun 2016 20:42:06 +0000 Message-ID: References: <20160618080235 DOT GA3332 AT calimero DOT vinschen DOT de> <718a7fe8-bd18-2c9b-3d7f-a0fdf1159955 AT secure-endpoints DOT com> In-Reply-To: <718a7fe8-bd18-2c9b-3d7f-a0fdf1159955@secure-endpoints.com> 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: 58bc1e59-e518-47e9-5fa4-08d397b902e3 x-microsoft-exchange-diagnostics: 1;CY1PR07MB2198;6:xdEk3bdqXSjYdMZ070WucJKQu1SGcZ5PwAzkYPwP3Hvjf3eH4ozyrNRTj40lK14hzvUigC36SU0fvswjyOjMskx8B/gY/v1GKrHxi6dHQwGir53oela9vxQhwv5yFjbZ2/nPc6p6LOkKJVUPFxJAhqUSZjm5GAvvS4BLIdDnUiNh9DEdhw8LGxeoRNhXK/dWzUo8KTJe2o6wLYBfOHQo67O1rvdzkZQPm/L9Nu0a7mdnwgBdkiLNkqnPLNshO4ZL2msgOAhX98FpIrgevojTZP5dbVLGK+emZlx5PKTflELCR08iMHpdmNkQKYoBEOPc;5:/+Nxz9+yU9XrlavaqPmzQXKqWvxbKHxFCmQeEAF6Mjrv+7y8gu0FGiJ/dYx/fAPrSCtmBRNPmEp/4oKvSay04jZ4K+95Kze7+C9fMOzCf1YZ1M1cWIfCzB/YeemTMgXhCWzvZiG2CH2p1MIDUoZzVw==;24:ZCxceQpRQ1pC9xhBaGp2C5HwBDlvhmVUANsmqcqETubcJUimATlEOK81x8mS2krtBJn/8NnBU62CnL/BIV5TCWoqtRp0YvFHV8bMPrUTxuw=;7:wRffmLLpfzwcynCYhgo+ooVmyDKMklQTN5XOl1jVEakJkxyZ+Nh0xC2fR/LEIHA99ebiaX0fAoCuPlMgh/HWxw1oNZ1WJBdLd7+FK03+lVloB4TU0HiADU4NEe8w4OgXkW+XYeqRr2xu2l0TlCC3LNqJITLG3CMEERhU2Ww8SQ7dWaaZhotcK6L1J2Ia+fC+hFoOR+hK5Houme56xgy+2n+cnXlDflPkV7mRt91GynEtDlduD0DDtqDlh7cRDES6 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2198; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; 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: 09778E995A x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(7916002)(199003)(66654002)(189002)(377454003)(24454002)(3660700001)(189998001)(586003)(36756003)(2906002)(6116002)(101416001)(87936001)(102836003)(3846002)(107886002)(110136002)(86362001)(97736004)(7846002)(66066001)(3280700002)(50986999)(54356999)(76176999)(5640700001)(11100500001)(92566002)(8936002)(68736007)(106116001)(93886004)(81156014)(106356001)(19580395003)(19580405001)(450100001)(122556002)(5004730100002)(10400500002)(77096005)(2950100001)(1730700003)(2900100001)(2351001)(8676002)(99286002)(345774005)(2501003)(105586002)(5002640100001)(81166006)(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 Content-Type: text/plain; charset="utf-8" Content-ID: <585505E6A98188458F576871AB69A69F AT namprd07 DOT prod DOT outlook DOT com> MIME-Version: 1.0 X-OriginatorOrg: navimatics.com X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2016 20:42:06.1640 (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 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id u5IKgVNJ005165 Hello, Jeffrey: On 6/18/16, 1:19 PM, "Jeffrey Altman" wrote: >On 6/18/2016 4:03 PM, Bill Zissimopoulos wrote: >> * A directory cannot be renamed if it or any of its subdirectories >> contains a file that has open handles (except in the batch-oplock case >> described earlier). >> >> >> In particular the third bullet point mandates that the FSD keeps >> information not only about files that are open, but also of their >> hierarchical relationships. The easiest way to do this on Windows is to >> maintain a mapping of file names to open files. > >This is not how my file system redirector enforces the rule. The file >control block (representing the handle) for an open file maintains a >reference to the directory object through which it was opened. As long >as the directory object has outstanding references the redirector fails >the rename request. Thank you for your very useful pointer. I have a question. In your file system redirector if the file "\comp1\comp2\name.ext” gets opened, do you also open (internally) the directories "\comp1" and "\comp1\comp2”? It sounds like you do. I understand that this is what UNIX VFS does, but it is my understanding that Windows does not require this. WinFsp avoids it so that it will not send extraneous requests to the user mode file system. WinFsp only knows about files that have been explicitly opened using IRP_MJ_CREATE. But perhaps I misunderstand what you are suggesting. Apologies for being thick, but can you please elaborate? >File path maps to specific files in fact do not work because the file >can be hard linked into more than one directory. Only the directory >that was used to create a file handle is restricted from renaming. I agree. But my FSD does not currently support hard links. If/when it does I will have to revisit this design. Many thanks for your insight. BTW, if your redirector is public/opensource I would love to take a look. Bill