RPM artifacts related to ghost files

Panu Matilainen pmatilai at laiskiainen.org
Thu Jun 6 06:26:37 UTC 2013


On 06/05/2013 09:59 PM, Florian Weimer wrote:
> On 06/05/2013 05:30 PM, Panu Matilainen wrote:
>
>> Thanks for noticing and reporting!
>
> Thanks for caring.
>
> I've got another one: In abrt-2.1.4-1.fc17.i686, the ghost files
> /var/run/abrt/abrt.socket and /var/run/abrt/abrtd.pid both have inode 0
> and link count 2.  But they can't be hard-linked because one has mode
> 666, and the other mode 644.  This throws my hard link detection logic
> off course.  (I will disable it for zero inodes.)
>

Right, that's an anomaly specific to rpm < 4.10 with %ghosts which dont 
exist in the buildroot, the nlink counting probably just merrily figures 
they're hardlinks because device and inode match (as they are zero). 
With rpm >= 4.10 ghosts get a "virtual" inode like everything else 
whether they exist or not (this is probably contrary to what I said 
yesterday on irc).

Another anomaly/curiosity is that hardlinked ghosts existing on 
buildroot still get their nlink count as if they were hardlinked, but 
this hardly makes sense.

What would actually make sense with %ghosts is ... a good question, 
common sense doesn't necessarily apply with the paranormal :) Always 
zeroing out inode and device + taking this into account elsewhere in 
nlink counting is one possibility.

	- Panu -



More information about the devel mailing list