Al Viro - 24.11.23, 08:48:57 CET: > On Fri, Nov 24, 2023 at 06:57:59AM +0000, Al Viro wrote: > > > > +extern void d_genocide(struct dentry *); > > > > > > Seriously, who came up with THAT name? "Genocide" is not a nice > > > term, > > > not even if you ignore political correctness. > > > Or what will be next? d_holodomor()? d_massmurder()? > > > d_execute_warcrimes()?> > > kill_them_all(), on the account of that being what it's doing? > > To elaborate a bit: what that function does (well, tries to do - it has > serious limitations, which is why there is only one caller remaining and > that one is used only when nothing else can access the filesystem > anymore) is "kill given dentry, along with all its children, all their > children, etc." I never got why in the context of computers anything is ever being killed. It does not live to begin with. You can stop something, remove it, delete it, destroy it, pause it, resume it, overwrite it and you can do it really quickly or (almost) instantly or slowly or recursively or some combination of those, but kill? You cannot kill what does not live. d_delete/destroy/remove_recursively() could be a suitable function name. Pick one. Similar it is with the term children or parent. There are no children in computer software. Period. But here it may be more difficult to find alternative wording. Would still be good to find something, cause I was quite taken aback by the wording of the OOM killer. (Actually I was taken aback that an operating system could even have something that forcefully quits a process without saving data. It never matched my expectations of reliability and stability.) So how about stopping to put meaning into computer software source code that simply is not there to begin with? How about starting to use terms that describe what is actually being done and what is actually there? -- Martin