Hi Sam! Hi Everyone! Recently I was reflecting about the ILI stuff, regarding vserver of course, and how cool it would be to have it for each and every file system ... I even considered implementing it for some filesystems 8-) ...
... but this was the moment I asked myself: - do we need the ILI flag at all? - isn't the concept enough for everyday VS usage scenarios? the current implementation is nice to handle, except that the userspace tools of some (all?) distros use the same bit for tail merging, which, on the other hand, can be an advantage, if tail merging is not implemented ;) let's have a look at the current usage of ILI for a typical VS scenario - several VS on one shared partition - there are some files which are +imm and +ili and there are some files which are not (the non-shared ones) - maybe there are some files set to +imm by the root of the VS to prevent deletion ... - all files with +imm, +ili will be files with more than one link, otherwise it is not considered useful at all ... what if we apply the following logic: - a file, set to immutable, having a link count of greater than 1, can be removed, but not changed from within a VC, as if the ili flag was set, all other files are just handled as normal ... - on removal of the last but one link, the immutable flag is cleared, and the file becomes a 'normal' file ... maybe I missed some utterly important detail, which, by the way, happens to me on a regular basis ;), so I would like to have a short discussion on the pro/cons of this issue ... best, Herbert
