[search bait removed from subject] On Fri, Nov 24, 2023 at 10:36:05AM +0100, Martin Steigerwald wrote: > Al Viro - 24.11.23, 08:48:57 CET: > > 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. Simple - one deals with objects that have complex lifecycle, with very different possible behaviour at various stages. And about the only example of such that would be well-covered in natural languages is just that - both in adjectives for states and verbs for transitions between those. Note that the word "lifecycle" itself is rather commonly used outside of biological context. > 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. Why? "Do something that changes the state of target into one in which the target gradually becomes incapable of normal activity until it goes completely inert and eventually disappears, with its parts recycled for unrelated objects" vs. "kill the target", with associated transitional state being refered to as "dying"? Your suggestions all refer to operation rather than state transition. > d_delete/destroy/remove_recursively() could be a suitable function name. > Pick one. Thanks, but no thanks. d_delete() already exists and refers to rather different operation; "destroy" in such contexts would be loaded with an existing technical meaning, and that would be actively confusing; "remove_recursively"? Guess what the better-behaving replacement (far too heavy-weight for the only remaining use) is called? "simple_recursive_removal". It does more than this one, though. > Similar it is with the term children or parent. There are no children in > computer software. Period. Well-asserted. Unfortunately, the statement is wrong - "parents" and "children" have specific meanings when applied to nodes of directed graphs. And there's a plenty of those dealt with by software. Directory tree, in particular.