Date: Mon, 13 Oct 2025 11:57:14 +0200
From: Olivier Certner <olce@freebsd.org>
To: Lexi Winter <ivy@freebsd.org>
Cc: fs@freebsd.org, current@freebsd.org
Subject: Re: openat("./...", O_CREAT) fails even though the directory exists
Message-ID: <6142242.Zv9zXsTiuT@ravel>
In-Reply-To: <aOzF-JAOyg-T-Ule@amaryllis.le-fay.org>
References: <aOy5LUUu5DCwY_XZ@amaryllis.le-fay.org> <2507674.THHZn3L5Ee@ravel> <aOzF-JAOyg-T-Ule@amaryllis.le-fay.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] > - trying to create "./df59D8I2px044288", which doesn't exist, with > O_CREAT|O_EXCL fails with ENOENT. Oh, indeed, I had missed the O_CREAT|O_EXCL. I'll grab some more caffeine... > after some more debugging, i think what's going on here is that pkg(8) > is deleting and recreating /var/spool/mqueue on upgrade, which means > smmsp's open fd to that directory is no longer valid, and therefore > openat() returns this unusual error. Yes, if the directory was removed but is still open, FSes will typically return an error at lookup (which is a sub-process of creating a file there) in this directory (e.g., UFS returns ENOENT). > i suspect the fix will be in pkgbase > somewhere: for example, we could restart sendmail on upgrade, or tell > the user to do that. Most probably it will need too, yes. -- Olivier Certner [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmjszPsACgkQjKEwQJce JicZFxAAhoQG9zDfUsTWwPeSq+bnO0de1PpNn6XNwHzv+o0KdA84EZd0bGq8a2Wb DiOyf4TFogqUVqJ/noStHe85CGi2DlRNMLxHtsLPT/zcao3Pgxryq1L9H8ya/Tca gdbPKK7e9xzU7/hXCGWJmP0MCbIYjGEnbRiitknVaE4S64SpStDIaGqTLR38r/Cy KhZOXz5tUHoacNWVoosZ3QigUleCjhdPd0GK7fGR6qY9rGSJZE/3Q4IkARF3RToR /KTcIAmE96ThnL+ttt/0gpOwtpgJpUHkpCqqowMGx8TxEvYETI7lFeSvwEMk1MzC eJqGvKiENmAHjuFs4Qr9tPvkNm3HgV0LfWmbeMGH8DK/DZj2H8AaT7jumlKwfemn FJDvNPhtnfuMnWSCaKzI0i6W06NUzg/971EfBZXRb9yIHbO0QfLk5dyRK29ayfHH wkcY1rZgr92XghDo+e4YCdeByCESkcIkBSAACdLnVFIEm17cEvEujP+/nYtty8pC 8iiGLA31cPiT6NE1tEFMSu/B07TuGoJ85v/iQ12p83JyK7qr2PFghcV4nX7kbeD5 sjFFaxyyVw1gTMWHsWy2dTZPGI68154bkZ7+Ya1eTc7HvM/Nhv6wFParKbSErQcX +p4/O02FdZuompa+l/t88yyZR0KorMLTVyK61XcDw2Q/Ilw1DiA= =l1g3 -----END PGP SIGNATURE-----help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6142242.Zv9zXsTiuT>
