Skip to content
Commit 7deb2448 authored by Gregory Nutt's avatar Gregory Nutt
Browse files

This comment converts the underlying IPC used by the UserFS from Unix domain...

This comment converts the underlying IPC used by the UserFS from Unix domain local sockets to UDP LocalHost loopback sockets.  The problem with the local sockets is that they do require operations on the top level psuedo-file system inode tree.  That tree must be locked during certain traversals such as enumerate mountpoints or enumerating directory entries.

This conversion is unfortunate in the sense that Unix local domain sockets are relatively lightweight.  LocalHost UDP sockets are much heavier weight since they rely on the full UDP stack.  If anyone is up for a complete redesign, then using some shared memory and a POSIX message queue would be lightweight again.

This commit also fixes several bugs that were not testable before the inode tree deadlock.  I cannot say that the logic is 100% stable but it does not have basic functionality.

Squashed commit of the following:

    fs/userfs:  Order locking so that access to the shared I/O buffer is also locked.
    fs/userfs:  Converts to use LocalHost UDP loopback for IPC.
parent 2fc52378
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment