Swap on Fuse deadlocks?

From: John Richard Moser
Date: Mon Sep 25 2006 - 17:43:55 EST

I just tried to set up an LZOlayer swap partition:


The layout was as such:

/tmp/swap_base - tmpfs (run1), disk (run2)
/tmp/swap - lzolayer swap_base
/tmp/swap/swap0 - 200M swap file
/dev/loop0 - /tmp/swap/swap0 loopback

I turned on loop0, crept anywhere over 10 megs into swap and it seized
up (otherwise it was fine). This happened in both run1 (swap on tmpfs)
and run2 (swap on disk).

The swap on tmpfs I can understand; it'll essentially loop trying to
allocate new swap, swap in and out parts of the swap file to itself, and
eventually hit a condition where it's trying to swap an area of the swap
file into itself, creating an infinite loop.

Swap on disk I don't get. A little slow perhaps due to the LZO or zlib
compression in the middle (lzolayer lets you pick either); but a total
freeze? What's wrong here, is lzo_fs data getting swapped out and then
not swapped in because it's needed to decompress itself?

All content of all messages exchanged herein are left in the
Public Domain, unless otherwise explicitly stated.

Creative brains are a valuable, limited resource. They shouldn't be
wasted on re-inventing the wheel when there are so many fascinating
new problems waiting out there.
-- Eric Steven Raymond

We will enslave their women, eat their children and rape their
-- Bosc, Evil alien overlord from the fifth dimension
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/