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 AT delorie DOT 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 AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT 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: <9e2c81eb-03ea-46ca-83e3-8adf5aa31934 AT SystematicSW DOT ab DOT 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: Subject: Re: Why does Cygwin always use absolute paths instead of OBJECT_ATTRIBUTES.RootDirectory? To: cygwin AT cygwin DOT com X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: Dan Shelton via Cygwin Reply-To: Dan Shelton Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Cygwin" 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 ..? 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