Re: openat("./...", O_CREAT) fails even though the directory exists
Date: Mon, 13 Oct 2025 18:57:54 UTC
On Mon, 13 Oct 2025 at 11:22, Sulev-Madis Silber < freebsd-current-freebsd-org111@ketas.si.pri.ee> wrote: > > > On October 13, 2025 9:06:02 PM GMT+03:00, Adrian Chadd <adrian@freebsd.org> > wrote: > >... > > > >On Mon, 13 Oct 2025 at 03:23, Lexi Winter <ivy@freebsd.org> wrote: > > > >> Olivier Certner wrote in <6142242.Zv9zXsTiuT@ravel>: > >> > > 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. > >> > >> proposed fix at https://reviews.freebsd.org/D53061. i really don't > like > >> this (nothing else restarts services on upgrade) but this is probably > the > >> least disruptive solution for users. > >> > > > >I'm curious - why are we NOT restarting services after an upgraded > package? > > > > > >-a > > i hope this wasn't proposal of blanket restarts everywhere. this could get > bad quickly. i recall friends cursing linux distros going one step further, > starting everything that's installed with default config > > many things would happily run after update, nginx even has special no > interrupt upgrade which replaces binary > > for sshd it would maybe ok but who knows. all around restarting is bad. at > least optout would be needed > > what if it needs config change or other kind of adjustments before admin > decides to restart it. or wants to choose time > > The only reason I'd like services not to be restarted is in case it's a last ditch attempt to recover a broken system. Otherwise: * your currently executing binary can be referencing libraries, files, etc which themselves are deleted but won't be freed until you kill the process; * the binary itself may be deleted, but it won't be freed until the process is killed; * the binary may be pointing to old paths / binaries / etc (think web servers, mail servers, etc) which no longer exist until you kill/restart the process (as ivy saw); So yes, i'd like services to be restarted when the package itself is reinstalled. This gets hilarious when you start thinking about the underlying libraries being upgraded and old ones being deleted, but like, in theory package management should handle that for me too as it should know all of those dependencies. If the package system doesn't do that then I'm going to need to reboot my system after a non-trivial package upgrade anyway, as a bunch of stuff may have changed and it may behave unpredictably until it reboots. -adrian