delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org CCBEE3858C39 |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; |
s=default; t=1709752506; | |
bh=X/yVX8UMS+67O29nXgk/f3SyXX1LpGb/zaQ3HSNI45E=; | |
h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe: | |
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: | |
From; | |
b=Dp6UwR5zrRjvaTxOKHYzEcXWiYivp8qoJXhEaf8W+AxV5YnGx2FfSNRfpyFn/kzJU | |
Dhij6jGBCMN9DMpyB1cHwpBzaDkBiDHZ1vtRX0TehTssJaeOuNtTKgtCx1gXfRrPaX | |
H460xdrqAtxg1mdGqo4BBd+VyknNWBJCKR864sUA= | |
X-Original-To: | cygwin AT cygwin DOT com |
Delivered-To: | cygwin AT cygwin DOT com |
DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org 955E33858D34 |
Date: | Wed, 6 Mar 2024 20:14:13 +0100 |
To: | cygwin AT cygwin DOT com |
Subject: | Re: ls/stat on OneDrive causes download of files |
Message-ID: | <ZejAhVsZAX5Xgvd8@calimero.vinschen.de> |
Mail-Followup-To: | cygwin AT cygwin DOT com |
References: | <CAC9GOO-RbcR5YOPyk6qVDuVSdDK4M=f1V8bHvz7yvoaHjGUZnQ AT mail DOT gmail DOT com> |
<ZehuDAKd3ceXlfba AT calimero DOT vinschen DOT de> | |
<ZehvbhVizZTBSaRR AT calimero DOT vinschen DOT de> | |
<208962d1-78cd-4e2d-9e4a-a1edcbf5e809 AT SystematicSW DOT ab DOT ca> | |
<ZeilkJK7Csryuzkc AT calimero DOT vinschen DOT de> | |
<7d9fe460-5704-424b-a89b-e34ef2176d38 AT secure-endpoints DOT com> | |
MIME-Version: | 1.0 |
In-Reply-To: | <7d9fe460-5704-424b-a89b-e34ef2176d38@secure-endpoints.com> |
X-BeenThere: | cygwin AT cygwin DOT com |
X-Mailman-Version: | 2.1.30 |
List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
List-Unsubscribe: | <https://cygwin.com/mailman/options/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe> | |
List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
From: | Corinna Vinschen via Cygwin <cygwin AT cygwin DOT com> |
Reply-To: | cygwin AT cygwin DOT com |
Cc: | Corinna Vinschen <corinna-cygwin AT cygwin DOT com> |
Errors-To: | cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com |
Sender: | "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com> |
Hi Jeffrey, looks like writing our mails overlapped: https://cygwin.com/pipermail/cygwin/2024-March/255622.html On Mar 6 13:55, Jeffrey Altman via Cygwin wrote: > On 3/6/2024 12:19 PM, Corinna Vinschen via Cygwin wrote: > > We can add an explicit call to > > > > RtlSetProcessPlaceholderCompatibilityMode (PHCM_EXPOSE_PLACEHOLDERS); > > > > and we can recognize the IO_REPARSE_TAG_FILE_PLACEHOLDER and > > IO_REPARSE_TAG_CLOUD_* tags during symlink evaluation, but even then > > we still have to know what the reparse point buffer actually contains. > > > > Given that the content of reparse points with these reparse tags are > > undocumented, some people using cloud services should examine these > > reparse points so we can add some suitable code to Cygwin. > > > > > > Corinna > I'm not an expert in this area by any means but here are my recollections > from when Microsoft presented in-person on cloud placeholders to filter and > filesystem developers many years ago. > > Files and directories that are placeholders should have either the > FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS or FILE_ATTRIBUTE_RECALL_ON_OPEN file > attributes set. When these attributes are set, applications and mini filters > are advised not to "read" or "open" the files or directories unless they > absolutely need to Per https://learn.microsoft.com/en-us/windows/win32/fileio/file-attribute-constants FILE_ATTRIBUTE_RECALL_ON_OPEN only appears in directory listing classes, but not in standard FILE_BASIC_INFORMATION and alike. That's a bit of a problem considering how we check files during path conversion. The MSDN article doesn't state the same for FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS, which is good, I think. But I'm a bit puzzled then in terms of FILE_ATTRIBUTE_OFFLINE. Is it not used for OneDrive files? > [...] > I'm not sure that exposing the object as a symlink is a good idea. Yeah, that's what I realized as well, see my aforementioned mail. > Perhaps the question that needs to be asked is whether there are opens that > can be skipped if an object is known to not be locally present (either of > the FILE_ATTRIBUTE flags are set)? This may be the way to go, see my mail. It wouldn't be much of a problem to check all attribute bits, i.e. FILE_ATTRIBUTE_OFFLINE, FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS and FILE_ATTRIBUTE_RECALL_ON_OPEN. Maybe that's what we should do. Thanks, Corinna -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |