On 7 Jun 00 at 6:20, Alexander Viro wrote: > On Wed, 7 Jun 2000, Alexander Viro wrote: > > Aiiee... Idiot me didn't notice that > a) atomic_read() is signed > b) 0 > (1<<31) on 32bit platforms > c) looking into logs is useful, even if flamage is actually > harmless. > > Sorry, folks. Fix (compared to ac10-M) is to change the line 820 in > fs/inode.c to > if ((unsigned)atomic_read(&inode->i_count)>(1U<<31)) { > Hi Al, I'm sorry, but what's wrong with if (atomic_read(&inode->i_count) < 0) { ... } except that it produces different result for 0x80000000 ? If someone has 64bit atomic, why limit them to 31 bits only? (also, smp sparc has only 24-bit atomic values, but it does not matter here, as it is signed, so underflow is catched correctly anyway) Best regards, Petr Vandrovec [EMAIL PROTECTED]