hm, busy page invalidated? (not necesserily a bug)

Mikael Pettersson (mikpe@csd.uu.se)
Mon, 27 Sep 1999 18:12:18 +0200 (MET DST)


Setting up a loop device on top of a newly created regular file
triggers lots of "hm, busy page invalidated? (not necesserily a bug)"
warnings from mm/filemap.c:invalidate_inode_pages().

For example, if I do the following:

rm -f /tmp/junk
dd if=/dev/zero of=/tmp/junk bs=1k count=1024
losetup /dev/loop0 /tmp/junk

the kernel message buffer immediately fills with the abovementioned
warning. This happens in all kernels >= 2.3.7.

The message is generated by this test in invalidate_inode_pages():

get_page(page);
...
if (page_count(page) != 2)
printk("hm, busy page invalidated? (not necesserily a bug)\n");

When drivers/block/loop.c:loop_set_fd() calls invalidate_inode_pages(),
it seems that each page in the backing file already has a count of 2,
so at the test the count is 3, which triggers the message.

I haven't noticed any other negative effects when using loop devices
(no kernel instability or data corruption) so I suspect the test is
bogus and should be removed or modified.

What sayeth the VFS/page cache experts?

/Mikael

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/