DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 614MppZ9721455
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 614MppZ9721455
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=m79GvkAT
X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AF5584BA2E0E
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1770245510;
	bh=u/fiyySfGH6htdu193DGVAiwwcP0btx9muaMBzLb5Xk=;
	h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
	 From;
	b=m79GvkATofcC4JBPQ/9V9i2rPUNG27VE7NAg/VLohP7X6yMCjMNTTJ7yANC74RIax
	 ykyvehnpdLE0kblKJ6g3yB5SJKgEKyP163FMwgzEPBTkXncKgsgCXKXrwYAZg061us
	 9CdEuSEToBwH1Ms3KuY41aCHx1kufFZ8C5x5H40A=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A34984BA2E08
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A34984BA2E08
ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1770245461; cv=pass;
 b=quOo/QVFc2GDaJePb0IAZJdHy8KnaX64JhR2wDTgm9HkmN6D3C2ox+FkTLJqCXPITk12VpMTdnLvLV5NvlAe09OgMepwcPDfj9YL7OzH6nNgz9cIcSp/OxaS9sU8vMDt2IigWmBCLGaOlvp65jh8IH34U/U6Tlh0ld/JcETf3QQ=
ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key;
 t=1770245461; c=relaxed/simple;
 bh=jNwnkQcWRB1rdqgAQ9yUSon4vOa9etgYJN7V8eOmZZE=;
 h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;
 b=g98jO50r82UMPLQa5O9FhCdN2eLuMJTaQxibJwksyc5bZ7KcPb2SQtdkjhuPRMOek1RNdyVhaq1FHy5+SO92tehEG5GskFnDAPRI8DukwJ4CGRmtFaF5wU+66HvgC3B6mpv9Eqosu0n7V0V4yNEiB7zPAtivDcVlbn1NRcok5/4=
ARC-Authentication-Results: i=2; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A34984BA2E08
ARC-Seal: i=1; a=rsa-sha256; t=1770245460; cv=none;
 d=google.com; s=arc-20240605;
 b=HI8bra1Hv7WwfJ+PdKwhmiCWc7Chf/3iM54Ib5r2oKlTfYbdy+Jv1QGus0cFJLifXI
 yYRKYwrzvmAUQnda6o/qd20bX0EkZwB8PKuloa2DUGsIufM8ygCoEOham2ViOg/hViXR
 o4OXRJ3SzKwzvX21YRgYOkh1w2zrKJQ/lVemD32GWg20+K3duvGbTRRJQ91vKiOB8DzZ
 GJPj9jHwzUagj8e3SbB8nel1Y9fPDm/Z9J8ET843veXqlXrC+OC+ySstShaLjOVpx1wA
 lY2oKiraxmUsnSBKJFeSdQUPtDaLRcfHJKHlL8RPeLdqMa1kAXwGRIKeDgRxfc5DAyqs
 0vXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=arc-20240605; 
 h=to:subject:message-id:date:from:in-reply-to:references:mime-version
 :dkim-signature;
 bh=hOhCQJERYNNO9qEuY6WbZYTP8VQwTX5em9UHL0OBhow=;
 fh=UKNFaOBO97U3RYl3PEse//nArTqr7SLJjCCEBz281Ew=;
 b=EnpCaxx2psbdaYG1QzEcgTuUt29rh2V2aVl86Ps67d7dpb7/Ni55iTAsYkT9oudxyI
 vrY1xUQinau8OBsTyVjS3pqS3SS/JiXDhGJ0VKsndrUWQEKf6SP+MuM0BdsjB1vHrLGA
 h00vdR0Uj9kG+3XuCq2ZbRjead4M6vvlUcFTCxbU0TQJR4o22zZpC/XOMsOdP+6rlt1U
 FtE5xs+u6sVk3X5K01ufAM6NbPkmjuF4pjXWmX6LGNNyjid85uFSHsWH4ZTlyNxKZxTB
 Hftoy0Wjp7cdsgNxjSBa6CDlwDB3kjFS+Vc09bY8ujZMCPrVmXri3n1uOl+d2ZBIVN+R
 pbuA==; darn=cygwin.com
ARC-Authentication-Results: i=1; mx.google.com; arc=none
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1770245460; x=1770850260;
 h=to:subject:message-id:date:from:in-reply-to:references:mime-version
 :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=hOhCQJERYNNO9qEuY6WbZYTP8VQwTX5em9UHL0OBhow=;
 b=VoUkIfx/3fernO9sAbZTLOReue40CBpb6UjVPcHHS+qmRhsYRdcJJHyk3v0R/oZeHd
 z5wFaapV5zboGwaj/6I68x6JN6QgYIJok8UFAmFk6varkIwF19nSBX5nhKWQHRGMNR9M
 tLfbcEcTnQBbJO06SJd0gVuA6BQuF2mCZg6Ce+be80MEG+cxsi5FTfb56xaeRsuPeF/V
 HYn8lqCfDRlxgvPj/qiINkowCl9JlKbF/vBtpVY5W9EmRfGrRtvgzWF0mKZv2nPmXKc3
 +mZ8D1ctvmWkFhsBYBsZe2Gh+ohdlcSe0S8oYf7wYrN02EO507olJBAWUxEIftk6RMaq
 Zs6w==
X-Gm-Message-State: AOJu0YzqaVWh33YQ/I1aEjwYQ1mDov+VkLppTaP+/tI6Vp1/TbHglFyF
 iTVGq9unn8gF7IvUEB1uCJRBiur+g1/BHl1PkYfyaRrLh1KbkA+ZkSAdVvaG/kVWAeJk1RN/QmF
 jRb2ITwcmLs/q8HE0z9sKWwOBU5FDFsH9NKf3
X-Gm-Gg: AZuq6aICkx46qe4LQF+Rydg3F0vxw8DjEebUBdMd/S+Smic6oBOJiFo3nYBy4aHEH0r
 sqj0a/jP3RkyxTfF+xu56J43hDF8XDinUHaeqfrL19X69DvZAO1XvIxvsA652/lKf/UISDhv0YQ
 /5S2FIA60/6NsDTfEpJCETjTMliUwnf6MmGcMTo+JW3ybyxdRWofCuPbutaYXPblIXl83QlZ+q3
 KhosFFOtiRaC52pMSnS/0wxNXyi70uY89mQ8ZzWmQ7r+jWOSdLKPmimoum1anrHciFp8DUe5P3X
 PhOD
X-Received: by 2002:ac2:51c2:0:b0:59e:34de:fe46 with SMTP id
 2adb3069b0e04-59e3c7ae8c4mr227605e87.2.1770245459934; Wed, 04 Feb 2026
 14:50:59 -0800 (PST)
MIME-Version: 1.0
References: <CAAvCNcC0z2pOi92UezFxR-_o53P7dq2fNt+9js6WQAbqwWZTAQ@mail.gmail.com>
 <9e2c81eb-03ea-46ca-83e3-8adf5aa31934@SystematicSW.ab.ca>
In-Reply-To: <9e2c81eb-03ea-46ca-83e3-8adf5aa31934@SystematicSW.ab.ca>
Date: Wed, 4 Feb 2026 23:50:22 +0100
X-Gm-Features: AZwV_QizHjHchiUgB_BXY359O9BVaHhYqQLuzJZQeNjn39YDCopYoxs9POqsb4g
Message-ID: <CAAvCNcBSozq08ASWx6c-M8QB7aPz6tRx+Cqk8wz-1x=y0u_e5g@mail.gmail.com>
Subject: Re: Why does Cygwin always use absolute paths instead of
 OBJECT_ATTRIBUTES.RootDirectory?
To: cygwin@cygwin.com
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Dan Shelton via Cygwin <cygwin@cygwin.com>
Reply-To: Dan Shelton <dan.f.shelton@gmail.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie.com@cygwin.com>

On Wed, 4 Feb 2026 at 22:37, Brian Inglis via Cygwin <cygwin@cygwin.com> 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 ..?

Dan
-- 
Dan Shelton - Cluster Specialist Win/Lin/Bsd

-- 
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
