nuttx/fs
Gregory Nutt 7deb24484c 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.
2017-11-05 12:25:58 -06:00
..
aio fs/vfs: Change the return value of internal function fs_getfilep(). It no longer sets the errno variable but, rather, returns errors in the same manner as other internal OS functions. 2017-10-11 08:39:19 -06:00
binfs Add fstat support to binfs 2017-02-12 14:47:05 -06:00
dirent Don't build libc/pthread if pthreasa are disable. Fix a warning in dirent logic if mountpoints are disabled. 2017-02-16 09:53:13 -06:00
driver Squashed commit of the following: 2017-10-04 15:22:27 -06:00
fat Squashed commit of the following: 2017-10-20 12:36:25 -06:00
hostfs Squashed commit of the following: 2017-10-04 15:22:27 -06:00
inode Squashed commit of the following: 2017-10-04 15:22:27 -06:00
mmap fs/vfs: Add new internal OS interface nx_read(). nx_read() is functionally equivalent to read() except that it does not modify the errno variable and it is not a cancellation point. Changed all references to read() in the OS to nx_read(). 2017-10-11 12:13:41 -06:00
mount Squashed commit of the following: 2017-10-30 18:07:42 -06:00
mqueue Squashed commit of the following: 2017-10-10 08:44:12 -06:00
nfs Correct recurring typo: semaphore not semapore 2017-10-09 09:57:56 -06:00
nxffs Squashed commit of the following: 2017-10-04 15:22:27 -06:00
procfs fs/procfs: Restore a necessary chagne that was lost with commit 07f441eecb 2017-10-28 17:13:52 -06:00
romfs Squashed commit of the following: 2017-10-04 15:22:27 -06:00
semaphore sched/semaphore: sem_trywait() modifies the errno value and, hence, should not be used within the OS. Use nxsem_trywait() instead. 2017-10-05 07:59:06 -06:00
shm fs/: Remove dangling space at the end of lines. 2017-06-28 13:17:55 -06:00
smartfs Squashed commit of the following: 2017-10-04 15:22:27 -06:00
tmpfs Squashed commit of the following: 2017-10-04 15:22:27 -06:00
unionfs Squashed commit of the following: 2017-10-04 15:22:27 -06:00
userfs 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. 2017-11-05 12:25:58 -06:00
vfs fs/vfs: Fix after recent changes. write() was return negative values in errno. Noted by Jussi Kivilinna. 2017-10-18 10:17:55 -06:00
.gitignore
fs_initialize.c Remove some block comments before empty code sections 2016-04-11 18:16:04 -06:00
Kconfig Squashed commit of the following: 2017-10-30 18:07:42 -06:00
Makefile Squashed commit of the following: 2017-10-30 18:07:42 -06:00