DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 615Bma8F1196231 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 615Bma8F1196231 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=L8a5NHN4 X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 17FF54BA2E09 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1770292115; bh=omALqoRgUKFkZkjg0mAO6sWanrXTpKUjsH4GB4+Cr5Q=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=L8a5NHN4Pu9Ipz70kaHD+RKE7NfHbpEKasQBa+tWvScoXj1LY6O4D6YArE22DjJR1 xK/MadNuUNnIY5t40F43r5lZVxt8v2iaWniOJ5PYCCQlpcFtLp9L0ZuJCQhR8/Y/Rg DvYF848ZqO8lR241oodezXcTw2CwR4hVaYcwFVKY= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ACC064BA543C ARC-Filter: OpenARC Filter v1.0.0 sourceware.org ACC064BA543C ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770292096; cv=none; b=sbbHDpDh7oJTHiuh/fCajMhxYMWO4shq/t6ZtgG14rznnr1GRVLgFW9auKuoYcUu73TpdfAa/4duci4vB//6UtTZipQVgd+mvu14EjBuUhr5eAtJwnlirRVI6Rxa4E4V5UE6XXsT3wmE61hR+cWVFIlB0O2a2ANm3DHFFfX5/ZU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770292096; c=relaxed/simple; bh=4i7Ce2IX9rUayRez1gBUnTtEgIteRY97u5VZrUZlBv8=; h=DKIM-Signature:Subject:To:From:Message-ID:Date:MIME-Version; b=ejZc0V34D7hPN3DPMXGlDhg7mrxgzJNRbbxndRgQVcy2C6HJ0r8YSRE3oiKt9+ozNzH5vecEsgIA21fap13PAyzqwDalalI1u9HnXJCH5vaHjpqqxxs24cf9okU9wAOY0rFVskr7T2HyIhO4i4FK6a4uyrj7BcdPxqPj3mE0N/Y= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ACC064BA543C Subject: Re: Why does Cygwin always use absolute paths instead of OBJECT_ATTRIBUTES.RootDirectory? To: cygwin AT cygwin DOT com References: <9e2c81eb-03ea-46ca-83e3-8adf5aa31934 AT SystematicSW DOT ab DOT ca> Organization: WiseMo A/S Message-ID: Date: Thu, 5 Feb 2026 12:48:14 +0100 X-Mailer: Epyrus/2.1.3 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Jakob Bohm via Cygwin Reply-To: Jakob Bohm Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 615Bma8F1196231 On 04/02/2026 23:50, Dan Shelton via Cygwin wrote: > On Wed, 4 Feb 2026 at 22:37, Brian Inglis via Cygwin wrote: >> On 2026-02-04 14:17, Dan Shelton via Cygwin wrote: >>> Why does Cygwin always use absolute paths instead of >>> OBJECT_ATTRIBUTES.RootDirectory in NtOpenFile(), >>> NtSetInformationFile() for rename and hardlinks >>> >>> This slows down Cygwin path lookups a lot, and with lots of path >>> elements each lookup with a relative RootDirectory might be a lot >>> faster, e.g. for openat(), linkat(), renameat(). >> Because volunteers' spare time is limited, and performance is good enough for >> those who might do the work: > Please do not slap me. That hurt. > > My question is about whether there are any technical issues which > prevent OBJECT_ATTRIBUTES.RootDirectory from being used in Cygwin for > openat(). > > 2nd question: Is OBJECT_ATTRIBUTES.RootDirectory really a root, and > you cannot do cd ..? > Take a look at the openat(3P) function, it seems to be what you are looking for. Enjoy Jakob -- Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10 This public discussion message is non-binding and may contain errors. WiseMo - Remote Service Management for PCs, Phones and Embedded -- 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