Re: Loop Devices over NFS don't work?

Stephen C. Tweedie (sct@redhat.com)
Mon, 12 Jul 1999 15:27:16 +0100 (BST)


Hi,

On Fri, 9 Jul 1999 10:56:34 +0200, Pavel Machek <pavel@bug.ucw.cz>
said:

>> How is writing to a filesystem on the loopbacked device
>> simultaneously with the hosting filesystem any different from
>> writing to two files on the hosted filesystem simultaneously?

> Because for writing _datablock_ on loopfs you need to write
> _indirectblock_ on hosting filesystem. Something that could not have
> happened before. And now imagine writing _indirectblock_ on loop,
> which results into write of _indirectblock_ on hosting fs. I am not
> telling you I understand those issues. I just see it is not easy.

Performing a loop block translation has always been able to invoke IO
to indirect blocks on the host fs --- it's just that traditionally
this has involved read, not write. Read is actually the harder case
in some ways, because (a) it can never be deferred in the block buffer
cache, and (b) there is less protection against filling the whole
request table and deadlocking --- writes are throttled to occupy only
the first 2/3rds of the request table.

So, a great deal of deadlock protection is already in the loop support
for ll_rw_block.c. You'll need to do more than hand-waving to
demonstrate that sparse loopbacks won't work!

>> Swapping, of course, is a different issue. Do we have any flags at
>> the moment which prevent people from trying to swap to
>> inappropriate block devices (nbd, certain raid levels with md,
>> etc.)?

> No and I'd like to see such patch.

Why? 2.2 should work fine over those devices.

--Stephen

-
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/