Commit Graph

1261 Commits

Author SHA1 Message Date
Gregory Nutt
070d40260b profcs: At file to should user space heap. This replaces the NSH free command. 2017-11-13 12:51:33 -06:00
Gregory Nutt
f3b37e5da3 fs/procfs/fs_procfsprogrem: Add /proc/progmem. This is an alternative way to get the information that was previoulsy available in apps/system/free. apps/system/free was removed beause it made illegal calls into the OS violating the portable interface. This new procfs entry provides the same information with no such violation. 2017-11-13 09:08:39 -06:00
Juha Niskanen
cc7af2b0d0 procfs: Fix uptime being close to maximum 32-bit value in certain config 2017-11-10 09:01:39 -06:00
Gregory Nutt
d5f8a49f18 fs/userfs: Fix return value from dup method. In order to return a pointer, the parameter must be a pointer to a pointer. 2017-11-06 07:14:24 -06:00
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
Gregory Nutt
2dbe7af7f3 fs/userfs: There are some deadlock issues that make the UserFS un-usable at the current time. Added to the TODO list; also feature is now marked EXPERIMENTAL. 2017-11-02 08:46:18 -06:00
Gregory Nutt
e5d7e4a12b fs/userfs: Correct check for response type. 2017-11-01 16:57:59 -06:00
Gregory Nutt
0614f9673b fs/userfs: Some fixes from initial testing. 2017-10-31 15:26:58 -06:00
Gregory Nutt
6e9039bb08 Squashed commit of the following:
fs/userfs:  This completes coding of the UserFS client and of the UserFS feature in general.  This feature is being merged to main now because I believe it is innocuous.  It is, however, untesed.  The next step will be to develop a test case to verify the feature.
    fs/userfs:  Completes the request logic for the UserFS client.  Still need the logic that receives the responses.
    fs/userfs:  Completes coding for most of the server side of the user filesystem logic.
    fs/userfs:  Big design changes, simplications. Use Unix domain local sockets instead of message queues.  Easier to transfer big data in local sockets than message queues.  Remove character drvier 'factory' it is not necessary.
    fs/userfs:  Minor reparitioning; volume private info does not need to be held on the OS client side.
    libc/userfs:  Add some of the server side logic.
    fs/userfs:  Add some UserFS initialization logic.
    fs/userfs:  Add frame work for the UserFS proxy.  Remove all references to a block driver.  There is no block dricer... what was I thinking?
    fs/userfs: Add some initialization of the character driver, 'factory' device.
    fs/userfs:  Rename from fusefs to userfs to that we don't stomp on someone else's cool name.
    Add a header file describing the fusefs interface.
2017-10-30 18:07:42 -06:00
Gregory Nutt
a50c5d6674 fs/procfs: Restore a necessary chagne that was lost with commit 07f441eecb 2017-10-28 17:13:52 -06:00
Gregory Nutt
382979b7cb Update comments in a Kconfig file. 2017-10-27 18:30:18 -06:00
Gregory Nutt
07f441eecb Missing some conditional logic for cases where mountpoint procfd entries excluded. 2017-10-27 06:06:20 -06:00
Gregory Nutt
ea13e24392 Correct a problem that was causing an apparent directory to be reported as a file instead of a directory by opendir.
This happened after adding these three new procfs entries:

  fs/block
  fs/mount
  fs/usage

Of course, there is no directory fs in this case, only three files that have fs/ in their relative pathnames.  The logic was detecting that fs was the name of the enty to report, but it was then declaring that fs was a file (because fs/block is of type file).

This was fixed by adding a check for matching lenghts.  i.e., if strlen(fs) != strlen(fs/block), then report fs as a directory instead of a file.
2017-10-26 16:30:59 -06:00
Gregory Nutt
1ed816de4b Squashed commit of the following:
fs/mount:  Implements procfs /proc/fs/blocks and /proc/fs/usage files, replacing the NSH df command.
    fs/mount:  Implements procfs /proc/fs/mount file, replacing the NSH mount command when there are not arguments.
    fs/: Move prototype of foreach_mountpoint out of include/nuttx/fs/fs.h to fs/mount/mount.h.  Add framework for the mount procfs (initial commit is just a close of the net/route table procfs.
2017-10-26 13:33:08 -06:00
Gregory Nutt
9b31a81b00 Squashed commit of the following:
fs/fat:  Remove mkfatfs from the OS.  This is a user-space application and belongs in apps, not in the OS.
2017-10-20 12:36:25 -06:00
Gregory Nutt
cc09e77a94 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
Jussi Kivilinna
d02c0c05ae FS FAT: Fix hard-fault when listing contents of FAT root 2017-10-13 07:54:40 -06:00
Gregory Nutt
181875f3ba 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
Gregory Nutt
a00d8e16a1 Adds OS internal function nx_write() which is functionally equivalent to write() except that it does not set the errno variable and do not cause cancellation points. 2017-10-11 10:18:30 -06:00
Gregory Nutt
af072d52bc Adds OS internal functions nx_send(), ns_recv(), and nx_recvfrom() which are functionally equivalent to send(), recv(), and recvfrom() except that they do not set the errno variable and do not cause cancellation points. 2017-10-11 09:25:43 -06:00
Gregory Nutt
536e4d7fa6 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
Gregory Nutt
fca07be1df Squashed commit of the following:
Change all calls to mq_send() and mq_timedsend() in the OS to calls to nxmq_send() and nxmq_timedsend(), making appropriate changes for differences in return values.

    sched/mqueue:  Add internal function nxmq_send() and nxmq_timedsend() that are equivalent to mq_send() and mq_timedsend() except that they do not create cancellation points and do to not modify the errno variable.
2017-10-10 08:44:12 -06:00
Gregory Nutt
ecf6dda2c5 Correct recurring typo: semaphore not semapore 2017-10-09 09:57:56 -06:00
Gregory Nutt
700f1a8e8c Eliminate some warnings found in build testing. 2017-10-08 16:27:17 -06:00
Gregory Nutt
4810499d3a Squashed commit of the following:
Replace all calls to sigqueue() in the OS proper with calls to nxsig_queue() to avoid accessing the errno variable.

    sched/signal:  Add nxsig_queue() which is functionally equivalent to sigqueue() except that it does not modify the errno variable.
2017-10-07 10:57:09 -06:00
Gregory Nutt
aeb3944f0a fs/vfs and net/socket: fcntl() is not return success fail for F_SETFL. Reported by Jussi Kivilinna. 2017-10-06 08:27:38 -06:00
Gregory Nutt
8198ba6a6d This change renames all internal, private NuttX signal-related functions to use the prefix nxsig_ so that they cannot be confused with application interfaces that begin, primarily, with sig_
This is analogous to similar renaming that was done previously for semaphores.

Squashed commit of the following:

    sched/signal:  Fix a few compile warnings introduced by naming changes.

    sched/signal:  Rename all private, internal signl functions to use the nxsig_ prefix.

    sched/signal:  Rename sig_removependingsignal, sig_unmaskpendingsignal, and sig_mqnotempty to nxsig_remove_pendingsignal, nxsig_unmask_pendingsignal, and nxsig_mqnotempty to make it clear that these are OS internal interfaces.

    sched/signal:  Rename sig_findaction and sig_lowest to nxsig_find_action and nxsig_lowest to make it clear that these are OS internal interfaces.

    sched/signal:  Rename sig_allocatepingsigaction and sig_deliver to nxsig_alloc_pendingsigaction and nxsig_deliver to make it clear that these are OS internal interfaces.

    sched/signal:  Rename sig_cleanup, sig_release, sig_releasependingaction, and sig_releasependingsignal to nxsig_cleanup, nxsig_release, nxsig_release_pendingaction, and nxsig_release_pendingsignal to make it clear that these are OS internal interfaces.

    sched/signal:  Rename sig_tcbdispatch and sig_dispatch to nxsig_tcbdispatch and nxsig_dispatch to make it clear that these are OS internal interfaces.

    sched/signal:  Rename sig_releaseaction and sig_pendingset to nxsig_release_action and nxsig_pendingset to make it clear that these are OS internal interfaces.

    sched/signal:  Rename sig_initialize and sig_allocateactionblock to nxsig_initialize and nxsig_alloc_actionblock to make it clear that these are OS internal interfaces.
2017-10-05 13:25:25 -06:00
Gregory Nutt
7cc63f90d9 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
Gregory Nutt
9568600ab1 Squashed commit of the following:
This commit backs out most of commit b4747286b1.  That change was added because sem_wait() would sometimes cause cancellation points inappropriated.  But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.

    In the OS, all calls to sem_wait() changed to nxsem_wait().  nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.

    In all OS functions (not libraries), change sem_wait() to nxsem_wait().  This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.

    sched/semaphore:  Add the function nxsem_wait().  This is a new internal OS interface.  It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615 Squashed commit of the following:
sched/semaphore:  Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable.  Changed all references to sem_post in the OS to nxsem_post().

    sched/semaphore:  Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable.  Changed all references to sem_destroy() in the OS to nxsem_destroy().

    libc/semaphore and sched/semaphore:  Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable.  Changed all references to sem_setprotocol in the OS to nxsem_setprotocol().  sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552 Squashed commit of the following:
libc/semaphore:  Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable.  Changed all references to sem_getvalue in the OS to nxsem_getvalue().

    sched/semaphore:  Rename all internal private functions from sem_xyz to nxsem_xyz.  The sem_ prefix is (will be) reserved only for the application semaphore interfaces.

    libc/semaphore:  Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable.  Changed all references to sem_init in the OS to nxsem_init().

    sched/semaphore:  Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.

    sched/semaphoate:  Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
9232da4af8 fs/vfs: Remove warning generated by fcntl() 2017-10-02 14:04:50 -06:00
Gregory Nutt
e4dd33280d Squashed commit of the following:
psock_close() and net_close() are internal OS functions and should not set the errno variable.

    psock_ioctl() and netdev_ioctl() are internal OS functions and should not set the errno variable.

    net_dupsd() and net_dupsd2() are internal OS functions and should not set the errno variable.

    net/ and fs/: net_vfcntl(), file_fcntl(), file_dup(), and file_dup2() are all internal OS interfaces and should not modify the errno value.
2017-09-30 10:41:21 -06:00
Gregory Nutt
2c2aa94b7d Squashed commit of the following:
net/: psock_recvfrom() is an internal interface and should not set the errno nor should it be a cancellation point.

    net/: psock_accept() is not a cancellation point.

    net/: psock_getsockopt() and psock_socket*9 are an internal interfaces and should not set the errno.

    net/: psock_getsockopt() is an internal interface and should not set the errno.

    net/: psock_listen() is an internal interface and should not set the errno.

    net/: psock_connect(( is an internal interface and should not set the errno nor should it be a cancellation point.

    net/: psock_bind() is an internal interface and should not set the errno.

    net/: psock_accept() is an internal interface and should not set the errno.
2017-09-30 08:18:08 -06:00
Gregory Nutt
44736b721c net/sockets: psock_send() is an internal OS interface an should not set the errno variable. 2017-09-29 17:48:15 -06:00
Gregory Nutt
9e8529b1d0 net/sockets: psock_sendto() is an internal OS interface an should not set the errno variable. 2017-09-29 17:35:38 -06:00
Xiao Qin
e5c79ba1a6 Merged in x_qin/nuttx/null_check_for_open_and_write (pull request #498)
fs/vfs:null check for path on open and buf on write

Null path check is depend on CONFIG_DEBUG_FEATURES and CONFIG_DEBUG_ASSERTIONS, added null checking so it's always performed
Added null checking on buf for write()

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-29 18:15:33 +00:00
Gregory Nutt
44d88abb83 This commit adds support for routing tables in files in a file system. This might be useful for customized, per-unit routing tables.
There are two issues with it however:

1. Reading from file system on a per packet basis could be slow.  I think it probably should have a small, in-memory cache of most frequently used routes for good problem.

2. Currently the delroute logic is disabled due to a problem with the design.  NuttX does not currently support truncate().  Therefore, it is not possible to delete entries from the routing table file.

In this current implementation, that leaves the last entry intact at the end of the file.  An alternative design might include a tag on each record to indicate if the record is valid or not.  That would work but would add complexity to the other routing table functions.

The existing implementation is available for testing purposes only if CONFIG_EXPERIMENTAL=y.

Squashed commit of the following:

    net/route:  The current delroute design depends on file truncation.  However, NuttX does not currently support truncate.  Alternative, more complex designs are possible but not implemented.  At present the file routing table are otherwise functional but the delroute logic is disabled via CONFIG_EXPERIMENTAL.  Enable it only if you plan to fix it.

    net/route:  Fix some issues with locking routing table files.

    net/route:  Add partial implementation of delroute for the case where the routing table is in a file.

    net/route:  Add support for seeking to positions in the routing table.

    net/route: Add net_addroute_ipv4/6() using a file-based routing table.

    net/route: Add net_foreach_ipv4/4() using a file-based routing table.

    net/route:  Initial build, configuration, and fs utilies to support routing tables in a file.
2017-09-29 08:33:36 -06:00
Gregory Nutt
7b7ca87941 fs/vfs: file_write() and file_pwrite() are internal OS interfaces and should not report errors via the errno 2017-09-28 14:49:05 -06:00
Gregory Nutt
e761b80ea7 fs/vfs: file_read() is an internal OS interface and should not errors via the errno 2017-09-28 14:14:32 -06:00
Gregory Nutt
9043b9cb6a fs/vfs: file_seek() is an internal OS interface and should not errors via the errno 2017-09-28 13:55:36 -06:00
DL
9145fe0c10 Fixed directory unlocking in tmpfs_opendir 2017-09-27 06:55:37 +03:00
Gregory Nutt
12c4c4c8a6 In some cases, packets are still not sent behind the router. I found that NuttX sends the ARP requests not to the router but to the target. Mistake in file net/route/netdev_router.c. From Aleksandr Kazantsev 2017-09-20 13:19:05 -06:00
Gregory Nutt
e7ce9c4a79 sem_open() should return SEM_FAILED on any failures. This is change change in the POSIX specification since the original sem_open() was written so many years ago. 2017-09-08 10:14:51 -06:00
Nickolay Semyonov (RPI)
620e2f4ce3 FS_AUTOMOUNTER should depend on SCHED_LPWORK 2017-08-26 11:54:03 -06:00
Gregory Nutt
d209e0e238 Add file missed in last commit. Fix naming in some configuration items. 2017-08-12 07:26:20 -06:00
Gregory Nutt
ee9e4fa8be procfs: Corret the type of a couple of procfs file entries. 2017-08-11 16:06:53 -06:00
Gregory Nutt
65698da12d procfs: Add support for routing tables. 2017-08-11 15:33:58 -06:00
Gregory Nutt
aeb59383cf Remove CONFIG_NET_MULTILINK. This increases code size by a little, but greatly reduces the complexity of the network code. 2017-08-08 15:26:09 -06:00
Jussi Kivilinna
027a446158 poll: fix poll for regular files and block devices. Open Group documentation tells that poll (and select) support regular files and that 'Regular files shall always poll TRUE for reading and writing'. 2017-08-03 09:58:20 -06:00
Simon Piriou
643f5782aa epoll: fix epoll_wait function 2017-07-22 09:01:24 -06:00
Masayuki Ishikawa
5efd942396 FS: Remove DEBUGASSERT() in block_proxy() because the flags are cleared later. 2017-07-04 10:56:54 +09:00
Gregory Nutt
1ed9793751 fs/: Remove dangling space at the end of lines. 2017-06-28 13:17:55 -06:00
Julien Lecoeur
f26e83d0a1 Fix -Werror=implicit-fallthrough on gcc7 2017-06-28 17:48:04 +02:00
Jussi Kivilinna
4eaa136850 smart: fix wrong freeing of device structure and use-after-free issues on error paths 2017-06-28 07:20:07 -06:00
Jim Paris
db80696d21 vfs/poll: fix timeout calculation 2017-06-09 11:37:30 -06:00
Harri Luhtala
b8b9309d2b vfs: fdopen: add missing file stream flags clearing. Clear file stream structure regardless of config options. Structure clearing is needed as previous use of stream list entry might leave fs_flags set. 2017-05-31 06:20:18 -06:00
Masayuki Ishikawa
99bdab3ac3 FAT: Fix 'Missing unlock' in fs_fat32.c
Jira: PDFW15IS-265
Coverity-ID: 10590 10589
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-05-22 14:44:24 +09:00
Gregory Nutt
41680d376d Replace 'the the' with 'the' 2017-05-11 13:15:13 -06:00
Gregory Nutt
e3d865f6c2 In last changed to poll(),cConverted timeout to unsigned to eliminate the possibility of overflow of signed overflow. 2017-04-28 11:02:54 -06:00
Jussi Kivilinna
37ca797d1c vfs/poll: round timeout up to next full tick. Calling poll() with timeout less than half tick (thus MSEC2TICK(timeout) => 0) caused returning error with EAGAIN. Instead of rounding timeout down, value should be rounded up. Open Group spec for poll says: "Implementations may place limitations on the granularity of timeout intervals. If the requested timeout interval requires a finer granularity than the implementation supports, the actual timeout interval will be rounded up to the next supported value." 2017-04-28 08:42:37 -06:00
Masatoshi Tateishi
ae8d5821e0 procfs: Fix incorrect uptime with CONFIG_SYSTEM_TIME64
Jira: PDFW15IS-45
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-04-25 10:58:38 +09:00
Gregory Nutt
d5207efb5a Be consistent... Use Name: consistent in function headers vs Function: 2017-04-21 16:33:14 -06:00
Gregory Nutt
7457875447 VFS poll(): Add some error handling logic 2017-04-20 19:15:17 -06:00
Nobutaka.Toyoshima
e971083449 procfs: Fix wrong member IDs are displayed when 'cat /proc/<pid>/group/stasus'.
Jira: PDFW15IS-259
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-04-20 16:12:20 +09:00
Gregory Nutt
2bcb8b7b07 If whence is SEEK_END, the file offset shall be set to the size of the file plus offset. Noted by eunb.song@samsung.com 2017-03-13 07:31:47 -06:00
Gregory Nutt
d3408809e4 sendfile(): Fix error introduced with commit ff73be870e. Noted by Maciej Wójcik 2017-03-05 11:50:34 -06:00
Gregory Nutt
ee8abb8160 FS: Don't build block driver proxy if PSEUDOFS_OPERATIONS are disabled. 2017-03-04 08:25:20 -06:00
Gregory Nutt
0a192361de Revert "FS: Fix backward conditional logic that prevent unlink() from building in some configurations."
Oops.  It was not backward.  Enable == !Disable.  Negative logic is confusing.

This reverts commit 1fcf353e89.
2017-03-04 08:16:46 -06:00
Gregory Nutt
1fcf353e89 FS: Fix backward conditional logic that prevent unlink() from building in some configurations. 2017-03-04 07:48:56 -06:00
Masayuki Ishikawa
e239961be8 Fix open() a block device with CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y 2017-03-01 13:43:12 +09:00
Gregory Nutt
4fa389898a Fix a warning when STDIO buffering is disabled 2017-02-27 11:06:13 -06:00
Gregory Nutt
a78593d66d fstatfs: Rethink last commit. Add verification that the file descriptor refers to an open file. This also should eliminate the warning while doing something useful. 2017-02-22 14:17:14 -06:00
Gregory Nutt
8c7ec7419a Eliminate a warning 2017-02-22 14:04:06 -06:00
Gregory Nutt
656935ed7e C library: Add fstatfs(); fix a reference counting error in fstat(). 2017-02-17 08:35:59 -06:00
Gregory Nutt
b4d378adb8 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
Gregory Nutt
be7a904d1b procfs skeleton: Some additional, purely cosmetic updates. 2017-02-15 12:47:51 -06:00
Gregory Nutt
504f677c20 procfs skeleton file should include an example write method. 2017-02-15 12:40:30 -06:00
Gregory Nutt
c67943ed1d procfs: Most stat() implementations were not initializating the st_atime, st_ctime, and st_mtime fields. 2017-02-15 09:59:09 -06:00
Gregory Nutt
bae367c7c4 fstat(): Rethink procfs fstat(). If write method is supported, then should report file s writeable. 2017-02-15 09:32:42 -06:00
Gregory Nutt
ef8d207118 smartfs: Add support for fstat(). 2017-02-14 10:30:11 -06:00
Gregory Nutt
c5df283822 procfs: Add support for fstat(). 2017-02-14 10:00:15 -06:00
Gregory Nutt
b4695c5ee9 hostfs: Add support for fstat(). 2017-02-14 09:54:08 -06:00
Gregory Nutt
e8d6676e18 procfs: When addition of memset from previous commit, it is no longer necessary to set individual fields to zero. 2017-02-14 09:03:48 -06:00
Gregory Nutt
74d30a0dbc procfs: stat() left several fields in uninitialized state. 2017-02-14 09:00:48 -06:00
Gregory Nutt
191fb658d0 nfs: Simplify parameters saved for fstat() 2017-02-14 08:16:03 -06:00
Gregory Nutt
2325ea4a45 statfs() should not fail on path '/' 2017-02-14 06:30:35 -06:00
Gregory Nutt
a2e74f2583 fs/inode/inode.h: Fix a warning 'inode/inode.h:264:45: error: 'struct stat' declared inside parameter list' by adding a forward reference to struct stat. Noted by David Sidrane. 2017-02-13 17:19:49 -06:00
Gregory Nutt
78fa87c7db ROMFS: stat() and fstat() should always indicate that directories are executable. 2017-02-13 16:56:55 -06:00
Gregory Nutt
d677e63008 ROMFS: Back out 29028bcd5a. A cool idea, but loses the EXECUTABLE bit in the file type. 2017-02-13 15:33:52 -06:00
Gregory Nutt
40f8e8b41f Fix some backward DEBUGASSERT tests in ROMFS and FAT. 2017-02-13 14:06:39 -06:00
Gregory Nutt
34f1b333b1 FAT: Fix some errors that I introduced in my review of Alan's patch. My screw-up, not Alan's. Sorry. 2017-02-13 12:43:35 -06:00
Alan Carvalho de Assis
a73651c8ca fstat: Add fstat() support to FAT. 2017-02-13 12:21:06 -06:00
Gregory Nutt
d0f0dd222e NFS: Use clock_gettime() instead of deprecated gettimeofday() 2017-02-13 10:39:49 -06:00
Gregory Nutt
10378bb10b fstat: Add fstat() support to nfs. 2017-02-13 10:07:43 -06:00
Gregory Nutt
181eb79616 fstat: Add fstat() support to nxffs. 2017-02-13 08:22:05 -06:00
Gregory Nutt
a482a4603f fstat: Add fstat() support to tmpfs. 2017-02-13 07:20:39 -06:00
Gregory Nutt
29028bcd5a romfs: Simplify fstat() implementation. It is not necessary to save the file type at open, We know in this context that the file is a regular file. 2017-02-13 06:55:06 -06:00
Gregory Nutt
2cb402080a fstat: Add fstat() support to unionfs 2017-02-12 17:05:47 -06:00
Gregory Nutt
4748e9352d fstat: Add fstat() support to romfs 2017-02-12 16:25:12 -06:00
Gregory Nutt
d06b346b5c Add fstat support to binfs 2017-02-12 14:47:05 -06:00
Gregory Nutt
7d91fabf01 fstat: Add skeleton implmentations of fstat() in all file systems. 2017-02-12 13:42:27 -06:00
Gregory Nutt
c5a8e96dbc Add basic fstat() support. Now all that is needed is to modify ALL of the file systems. 2017-02-12 12:48:24 -06:00
Gregory Nutt
3055025e00 rename(): Correct more issues. (1) Move to the root directory in the pseudo file system, (2) Fix path naming calculation when the path is the root directory of a mounted file system, and (3) dont't do the rename if the source and destination of the rename are the same. 2017-02-12 08:37:28 -06:00
Gregory Nutt
e20e9f0fe4 Update a comment 2017-02-11 18:55:13 -06:00
Gregory Nutt
2d11d8f1a4 rename: An inode with no operations should be treated like a directory for the purposes of rename 2017-02-11 12:02:50 -06:00
Gregory Nutt
bd7d3a92f5 Add logic to VFS rename: If target of rename exists and is a directory, then the source file should be moved 'under' the target directory. POSIX also requires that if the target is a file, then that old file must be deleted. 2017-02-11 11:18:30 -06:00
Gregory Nutt
af5a8e73d3 VFS rename: Fix issues with rename to subdirectories and some softlink issues. 2017-02-11 10:08:23 -06:00
Gregory Nutt
abcbb24cf2 sem_open(): Fix a compiler error introduced with the setvbuf() changes. 2017-02-09 10:56:12 -06:00
Gregory Nutt
1d290c2b37 setvbuf: Add support for disabling I/O buffering. Initially cut; untested. 2017-02-09 09:24:44 -06:00
Gregory Nutt
a92887c63d setvbuf: Correct some errors detected by code review. 2017-02-08 14:06:29 -06:00
Gregory Nutt
9f859774a1 setvbuf: Add support for configuration of line buffering. 2017-02-08 11:28:24 -06:00
Gregory Nutt
51a14c9b2f C Library: Add a very limited, first step implementation of setvbuf(). This is a collaborative effort. Alan Carvalho de Assis did the initial prototype. 2017-02-08 10:33:18 -06:00
Gregory Nutt
2d2fe301cb Update some comments; link counter can be uint8_t; Add a debug assertion. 2017-02-07 15:50:54 -06:00
David Sidrane
d9044058b5 There is a return path with node not set
inode/fs_inoderemove.c: In function 'inode_unlink':
inode/fs_inoderemove.c:74:17: warning: 'node' may be used uninitialized in this function [-Wmaybe-uninitialized]
   FAR struct inode *node;
2017-02-07 21:41:02 +00:00
Gregory Nutt
b758176963 stat(): Add logic to avoid infinite recursive in circular paths containing soft links. 2017-02-07 12:32:45 -06:00
Gregory Nutt
1b32cb67cb Soft link: Change how a value is returned so that _inode_linktarget will function in all of its use contexts. 2017-02-06 10:06:46 -06:00
Gregory Nutt
94e4d58fd2 Soft links: Fix a error in follow a link to a link to a mountpoint. 2017-02-06 08:46:43 -06:00
Gregory Nutt
aefe32d33f soft links: Fix a memory leak by correcting a reference counting problem. 2017-02-05 15:14:16 -06:00
Gregory Nutt
47ddfa346d Soft links: Eliminate in-stack allocation of path working buffer needed for traversal fo paths with soft links. 2017-02-05 14:57:38 -06:00
Gregory Nutt
45fd98da88 Add macros support that will eventually allow dynamic allocation of strings need to support soft links. 2017-02-05 14:25:45 -06:00
Gregory Nutt
8f2c7198ed inode_find: Now takes struct inode_desc_s type as input. This was necessary before that structure includes some data storage. It was used within inode_find(), but that means that the life of the data was the life of inode_find(). That data must persist longer. It is now provided by the caller so that the life of the data persists for the entire life of the caller. 2017-02-05 09:51:42 -06:00
Gregory Nutt
990bed903e Soft link: First cut fix for some soft link issues. The fix still has some issues of its own. 2017-02-04 16:35:49 -06:00
Gregory Nutt
4c68324d82 FS: Remove inode_search_nofollow(). That logic is no handled with a new field in the input argument structure. 2017-02-04 12:51:14 -06:00
Gregory Nutt
0c9935f8ac FS: Remove inode_find_nofollow. Instead provide a bool nofollow argument to inode_find. 2017-02-04 11:46:54 -06:00
Gregory Nutt
36704b7d9c FS: Argument is now a structure describing the search. 2017-02-04 11:21:44 -06:00
Gregory Nutt
8437650fc2 Soft links: Another fix to tree traveral logic 2017-02-03 16:34:50 -06:00
Gregory Nutt
982cfea490 Remove some unnecessary (and inappropriate) soft link logic 2017-02-03 15:50:41 -06:00
Gregory Nutt
70dcec7df7 readlink: Fix bugs from initial testing 2017-02-03 14:12:24 -06:00
Gregory Nutt
4417e74977 Soft links: Add an (untested) implementation of readlink() 2017-02-03 13:57:12 -06:00
Gregory Nutt
60ba5a5261 Soft links: Fix logic and remove kludge of last commit. Rename inode_dereference() as inode_linktarget() and make global. 2017-02-03 13:22:33 -06:00
Gregory Nutt
7c59e05305 FS: Separate inode_search() and inode_free() from fs_inode.c and put in separate files. Flesh out symbolic link logic in stat() and readdir(). There are still some issues with stat(). 2017-02-03 11:23:57 -06:00
Gregory Nutt
741a221fdb Soft link: make SOFTLINK configuration EXPERIMENTAL. There are still issues. 2017-02-03 09:24:43 -06:00
Gregory Nutt
372e399bbc Fix a typo 2017-02-03 07:36:25 -06:00
Gregory Nutt
d833144869 Soft Links: Fix several issues in initial testing 2017-02-02 19:37:58 -06:00
Gregory Nutt
b39d962021 Soft links: Update Documentation, rename file, add system calls 2017-02-02 17:11:08 -06:00
Gregory Nutt
35d738d85f Soft links: Fix compile problems on first build with soft links enabled. 2017-02-02 15:24:39 -06:00
Gregory Nutt
bdc002fadc Finish implementation of soft links. 2017-02-02 13:01:21 -06:00
Gregory Nutt
92305e400a Soft links: Initial, incompete implementation 2017-02-02 10:39:41 -06:00
Gregory Nutt
8b5af8bf50 FS: Fix typo. Latent bug but innocuous in its current usage 2017-01-27 08:50:01 -06:00
Gregory Nutt
a6fd776b1d mq_open: Fix wrong type of slash used in quoated character constant. 2017-01-10 07:07:17 -06:00
Gregory Nutt
7035d232f8 NX server: Correct message queue names. Should not be at /dev, but rather relative to /var/mqueue. 2017-01-08 09:14:11 -06:00
Gregory Nutt
feacfeae25 procfs: Correct to snprintf-related errors in fs_procfsproc.c. Resolves issue #24 2017-01-07 07:13:04 -06:00
Gregory Nutt
57d8a437ef Fix procfs status for SMP case. 2016-12-20 11:51:39 -06:00
Gregory Nutt
b52e4e5ecd Move cancellation point definitions to their own header file. 2016-12-10 09:08:26 -06:00
Gregory Nutt
bc3ca25cc7 Cancellation points: Close up some logic to eliminte some race conditions. 2016-12-10 08:36:58 -06:00
Gregory Nutt
a0f567f4a3 Update TODO, cosmetic changes, spelling -- US English spells it canceled and canceling vs cancelled and cancelling. No idea why. 2016-12-09 18:39:40 -06:00
Gregory Nutt
03a58b2ebc write(): Fix a misplaced #endif 2016-12-09 18:12:42 -06:00
Gregory Nutt
05f61def6a Fix warning and link error due to missing header file. 2016-12-09 17:02:27 -06:00
Gregory Nutt
3eba0acb1c More cancellation points. 2016-12-09 13:49:36 -06:00
Gregory Nutt
c9ca97b4b5 cancellation points are basically function. More tested is needed and additional cancellation points must be implemented before this can be merged back to master. 2016-12-09 12:01:18 -06:00
Gregory Nutt
b0dffdc2ca Fix a number of header files with mismatched 'extern C {' and '}' 2016-11-05 07:25:05 -06:00
Gregory Nutt
dbbe46a2bc fs: Disable priority inheritance on all semaphores used for signaling 2016-11-03 12:23:31 -06:00
Gregory Nutt
0908a6c6b9 Fix calculations using MSEC_PER_TICK. If USEC_PER_TICK is less than 1000, then MSEC_PER_TICK will be zero. It will be inaccurate in any case. 2016-09-25 08:17:33 -06:00
Petteri Aimonen
69577eb0b7 libnx/nxglib: Fix handling of near-horizontal lines of width 1 in nxgl_splitline(). Missing handling for degenerate condition caused width 1 lines such as (0, 0) - (100, 10) to have gaps in the drawing. 2016-09-22 11:09:06 -06:00
Gregory Nutt
93b48ea70f Fix a logic error introduced with last commit 2016-09-22 08:50:47 -06:00
Gregory Nutt
8221c2da64 Corrects a bad assertion noted by Pierre-noel Bouteville. Also fixes a reference counting problem in an error condition: When the mountpoint inode is found but is not an appropriate mountpoint, the reference count on the inode was not being decremented. 2016-09-22 08:22:28 -06:00
Sagitta Li
9fa1024eef vector table should have dimension NR_IRQS, not NR_IRQS+1 2016-09-22 07:56:12 -06:00
Mateusz Szafoni
0bc154863e sched/: Define 'group' even if HAVE_GROUPID is not set 2016-09-22 10:44:06 +02:00
Gregory Nutt
05aa586aa6 sched/: Move fields related to parent/child task relationship out of TCB into group structure. 2016-09-06 08:28:31 -06:00
Gregory Nutt
986c568d34 Correct file header comments 2016-08-07 10:04:02 -06:00
Gregory Nutt
610afe9cd9 FAT performance improvement. In large files, seeking to a position fromt he beginning of the file can be very time consuming. ftell does lssek(fd, 0, SET_CURR). In that case, that is wasted time since we are going to seek to the same position. This fix short-circutes fat_seek() in all cases where we attempt to seek to curren position. Suggested by Nate Weibley 2016-08-03 13:32:52 -06:00
Gregory Nutt
72a45c82b7 Move include/nuttx/regex.h to include/nuttx/lib/regex.h 2016-07-21 13:42:18 -06:00
Gregory Nutt
4b4dbc79a2 Move driver related prototypes out of include/nuttx/fs/fs.h and into new include/drivers/drivers.h 2016-07-20 13:15:37 -06:00
Gregory Nutt
006f4a5818 HOSTFS: Fix some errors in first cut at repartitioning 2016-07-17 16:31:14 -06:00
Gregory Nutt
2b28a1f3e5 SIM HOSTFS: First cut at changes to get it working on Cygwin. 2016-07-17 15:59:45 -06:00
Gregory Nutt
69637bf825 Costmetic changes to better match coding style 2016-07-17 13:39:21 -06:00
Alan Carvalho de Assis
8fa14b8fed Fix poll-related compile issues introduced with recent PTY changes 2016-07-16 07:03:38 -06:00
Gregory Nutt
11fe9378df Fix some warnings 2016-07-16 07:02:06 -06:00
Gregory Nutt
bcb6095f1f Add an assertion 2016-07-15 17:47:00 -06:00
Gregory Nutt
6a75f2df89 PTY: Add some encode to reduce the likely of misinterpreting the return value of the file open() method 2016-07-15 17:13:21 -06:00
Gregory Nutt
4b1553d3ad PTY: Fix some tricky issues. Now seems to be working. A lot more testing is needed 2016-07-15 14:29:32 -06:00
Gregory Nutt
9ecd558002 Add the correct implementation of the file_poll() function 2016-07-15 11:34:08 -06:00
Gregory Nutt
6e6c04f778 Rename file_poll as fdesc_poll. The file_ namespace is used for other things. 2016-07-15 11:21:11 -06:00
Ken Pettit
b616918e0f SmartFS: Fix a 32-byte memory leak 2016-07-12 17:28:06 -06:00
Gregory Nutt
67a9549355 TMPFS: Eliminate some warnings 2016-07-11 11:19:58 -06:00
Gregory Nutt
2689645b97 VFS ioctl() again. Per comments from David Sidrane, file_ioctl() should not return success if the ioctl method is not supported. It probably should return ENOTTY in that case. 2016-07-09 07:23:12 -06:00
Sagitta Li
1925df8faa Fix some recently introduced errors 2016-07-09 06:51:07 -06:00
Gregory Nutt
02b91d9880 Add a SYSLOG character device that can be used to re-direct output to the SYSLOG 2016-07-05 12:58:18 -06:00
Gregory Nutt
a39ce80add SYSLOG logic should use existing file interfaces, not re-invent them. 2016-07-05 12:12:44 -06:00
Gregory Nutt
82c890db23 syslog_dev_flush() needs to check if the inode is a mountpoint before calling the flush() method. Noted by David Sidrane. 2016-06-22 05:58:33 -06:00
Gregory Nutt
485aa6b231 SIM: Comment out skip scheduler debug output that can hang the simulation. 2016-06-21 08:59:01 -06:00
Gregory Nutt
43eb04bb8f Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info(). 2016-06-20 11:59:15 -06:00
Gregory Nutt
e27491f5be Move fs/drivers/fs_devsyslog.c to drivers/syslog/syslog_device.c 2016-06-19 08:46:46 -06:00
Gregory Nutt
d5275e48d0 Eliminate some warnings 2016-06-13 13:16:03 -06:00
Gregory Nutt
eac916c907 Fix some warnings 2016-06-13 11:48:20 -06:00
Gregory Nutt
c0142b618d Missing left parenthesis on one of the modified debug statements. 2016-06-11 17:31:11 -06:00
Gregory Nutt
1acafa813b Missing open quotation mark on one of the modified debug statements. 2016-06-11 17:29:32 -06:00
Gregory Nutt
ad2f7b0119 fs/: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition. 2016-06-11 17:14:02 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
86b79b33cf Reserver the name 'err' for other purposes 2016-06-11 14:40:07 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
a18dbfda6e Remove drivers/mtd/flash_eraseall.c. It is not used in the OS and is just a dumb wrapper around the MDIOC_BULKERASE IOCTL call. 2016-06-02 10:44:13 -06:00
Gregory Nutt
001715d57b FS: Add logic to detach a file structure from a file descriptor. This is for use only within the OS. It permits an open file or driver to be used across multiple threads. 2016-05-26 09:41:50 -06:00
Gregory Nutt
aa7a981674 Update some comments 2016-05-26 08:37:40 -06:00
Gregory Nutt
c00e3e55dc Fix several places in DMA logic where a spurious semicolon causes bad conditional logic 2016-05-11 17:42:59 -06:00
Gregory Nutt
d5be40be5f Remove CONFIG_FS_READABLE/WRITABLE logic from tools/mkconfig.c. This logic has been replaced with proper logic in the Kconfig files, it is out of date and an ongoing maintenance problem, and it shoulw not be necessary. 2016-05-11 10:01:43 -06:00
Gregory Nutt
a2a6c0b9a5 Improve some Kconfig help comments 2016-05-11 09:54:33 -06:00
Gregory Nutt
60382e7dcf fs/Kconfig: Allow CONFIG_FS_WRITABLE to be manually selected 2016-05-11 09:52:32 -06:00
Sebastien Lorquet
3c594b5ba1 Allows the use of tmpfs when no block driver is available. This is correctly done to define NONBDFS but below the structure is not where it should be. 2016-05-11 06:48:30 -06:00
Gregory Nutt
e523c93391 Several Makefiles: Add .PHONY definitions to prevent 'clean up to date' message weirdness. 2016-05-10 15:44:06 -06:00
Gregory Nutt
972181697a fs_mount.c edited online with Bitbucket. Fix problem noted by David Sidrane. 2016-04-29 07:11:42 +00:00
Gregory Nutt
ecba6ad0db fs_procfsproc.c edited online with Bitbucket. Fix problem introduced in last patch 2016-04-28 08:04:38 +00:00
David Sidrane
6a6a089af4 Fix a warning 2016-04-27 00:19:00 -06:00
Gregory Nutt
3f731241cb fs/inode/, fs/vfs/, and sched/task/: File and socket descriptors are no longer allocated for kernel threads. They must use SYSLOG for output and the low-level psock interfaces for network I/O. This saves a little memory which might be important for small footprint configurations. 2016-04-14 10:14:38 -06:00
Gregory Nutt
9008308b64 Remove some block comments before empty code sections 2016-04-11 18:16:04 -06:00
Gregory Nutt
3fba968bb0 Fix an error when a task with open message queue descriptors is killed via task_delete(). Noted by Anton Gropyanov. 2016-04-11 11:14:18 -06:00
Gregory Nutt
ccbf514233 Add task state to information recorded when a task is suspended 2016-03-21 15:24:15 -06:00
Gregory Nutt
b6f5ffa9a8 CDC/AC: too man right parentheses if IFLOW_CONTROL enabled 2016-02-24 11:54:02 -06:00
Gregory Nutt
0682671ffe Update Kconfig help comments 2016-02-23 06:38:51 -06:00
Gregory Nutt
c620b321b1 FAT: Add a new configuration option to decouple the logic that retries the direct transfer from the logic that enables DMA memory allocators. 2016-02-22 18:25:58 -06:00
Gregory Nutt
7c44444883 FAT: Add an option to force all transfers to be performed indirectly through the FAT file system's internal sector buffers 2016-02-22 16:26:04 -06:00
Gregory Nutt
0fb035f76b Standardize some naming in code section comments 2016-02-21 18:09:04 -06:00
Gregory Nutt
050b3ee06a profcs task status will now show CPU is SMP is enabled 2016-02-19 15:34:36 -06:00
Gregory Nutt
884d9355c6 nuttx/fs: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section() 2016-02-14 08:43:47 -06:00
Gregory Nutt
12f95c6f6b Add procfs/kmm to show the state of the kernel heap 2016-02-06 11:35:30 -06:00
Gregory Nutt
4a59ff34e9 Update submodules 2016-01-28 09:53:47 -06:00
Gregory Nutt
7d6c2d150d fs/vfs/fs_poll.c: Fix handling of sem_tickwait() return value sem_tickwait() does not return an -1+errno, it returns a negated errno value. Noted by Freddie Chopin. 2016-01-27 13:42:39 -06:00
Gregory Nutt
de995653fe Fix a typo from the last big set of changes 2016-01-21 12:26:53 -06:00
Gregory Nutt
f348e68069 Update to use 64-bit timer when available 2016-01-21 11:54:26 -06:00
Gregory Nutt
849df03d22 Update dates on files modified for SIGEV_THREAD support 2015-12-30 13:28:39 -06:00
Gregory Nutt
9835eeb181 signals: Basic framework to support SIGEV_THREAD 2015-12-30 13:20:31 -06:00
Gregory Nutt
658272bbbf FAT: Fix some duplicate definition warnings when big-endian is enabled 2015-12-26 14:49:40 -06:00
Gregory Nutt
795ddd7e80 OS modules: Add basic procfs support. A module registry that will eventually be used to support lsmod 2015-12-12 17:42:25 -06:00
Gregory Nutt
7be7579f59 Back out 522f95abe87d71c7025f2f358a8f350134e284b2: What was I thinking? 2015-12-02 10:47:32 -06:00
Gregory Nutt
08213f830d poll() and select() should not be built if poll() is disabled 2015-12-02 05:30:52 -06:00
Gregory Nutt
acd3b47def Fix problem in last change to the procfs: Forgot to save the reallocated table pointer!
Also added warnings:  There are some concurrency issues in the current implementation if you try to modify the procfs data structures will the procfs is mounted and possibly busy.
2015-12-02 05:20:02 -06:00
Gregory Nutt
db6eeed3a6 procfs: Using wrong reallocator 2015-12-01 17:06:40 -06:00
Gregory Nutt
7483ed38ce Fix some procfs registration typos 2015-12-01 16:31:40 -06:00
Gregory Nutt
ad64c033e7 s/procfs: The procfs file system can now be configured so that it supports a runtime registration of procfs entries with CONFIG_FS_PROCFS_REGISTER=y 2015-12-01 14:56:20 -06:00
Gregory Nutt
1c8216a6ce Add group ID or parent PID to procfs output (if available) 2015-11-30 06:58:06 -06:00
Gregory Nutt
11afff74dc Kconfig change for improved usability 2015-11-29 12:13:24 -06:00
Gregory Nutt
2e7d139cd3 fs/procfs: Process status now includes task flags. Some strings modified to improved 'ps' command output 2015-11-28 14:58:56 -06:00
Gregory Nutt
1f8f097783 procfs: Use dirent.h macros when testing directory entry type 2015-11-28 08:52:21 -06:00
Gregory Nutt
eb8668b0f7 net/: Add procfs support for network device status 2015-11-27 16:39:14 -06:00
Gregory Nutt
e4236941c6 net/net_procfs.c: Add basic support for networking procfs entries 2015-11-27 12:33:58 -06:00
Gregory Nutt
9d1404e06d Fix an error introduced in last commit 2015-11-25 14:38:10 -06:00
Gregory Nutt
070d95d161 Trivial change 2015-11-25 09:11:03 -06:00
Gregory Nutt
8f5047323f Update ChangeLog and submodules 2015-11-25 08:38:58 -06:00
Ken Pettit
c0b9dcf8a9 fs/hostfs: Add a special file system for use with simulator that supports access to the host file system from the simulation. From Ken Petit 2015-11-25 08:26:26 -06:00
Ken Pettit
375419eaf2 mksmartfs: Remove fs/smartfs/fs_mksmartfs.c and related headers. This has been moved to apps/fsutils/mksmartfs. From Ken Petit 2015-11-23 07:05:09 -06:00
Gregory Nutt
54549ef082 Revert "Add option to specify logical sector size during low level format plus adds some run-time geometry tests. fs/smartfs: Remove the 'mksmartfs()' code from the kernel 'fs'"
This reverts commit 96faf0fa3251ca10a17daddc728d931be5a206e0.
2015-11-22 10:15:06 -06:00
Gregory Nutt
64e8f12e2b Add option to specify logical sector size during low level format plus adds some run-time geometry tests. fs/smartfs: Remove the 'mksmartfs()' code from the kernel 'fs'
directory and build.
2015-11-22 10:07:35 -06:00
Gregory Nutt
006528b144 Add support for freopen() 2015-11-22 08:39:17 -06:00
Gregory Nutt
84a5f846c9 open() has been extended. You can now open block drivers and access them just as you can character drivers. For example, you can hexdump a block device. 2015-11-21 11:24:55 -06:00
Gregory Nutt
dcb85af387 Add logic to automatically wrap a block device as a BCH device with no visible character device 2015-11-21 10:14:01 -06:00
Gregory Nutt
968de101f0 Eliminate a warning 2015-11-21 10:12:21 -06:00
Gregory Nutt
bfeef77f1f SmartFS: Fix a compile error when FS debug enabled. Plus some changes needed by NuttX coding standard 2015-11-05 11:25:39 -06:00
Gregory Nutt
a5f44cd9fc Buttons lower half: Undefine __KERNEL__ before including board.h to suppress bad included; fix some configuratin issues 2015-10-13 09:29:23 -06:00
Gregory Nutt
c70987e551 nuttx/fs: Fix some spacing and alignment issues 2015-10-11 11:39:29 -06:00
Gregory Nutt
185b941c27 TMPFS: In open write/append mode, need to set the file position to the end of the file 2015-10-11 10:29:35 -06:00
Gregory Nutt
2c385b81f8 TMPFS: Yet another memory leak 2015-10-10 18:39:43 -06:00
Gregory Nutt
6a2098d35c TMPFS: Fix a memory leak 2015-10-10 18:01:14 -06:00
Gregory Nutt
838f9e5a18 TMPFS: Fix yet another bug 2015-10-10 17:04:38 -06:00
Gregory Nutt
d6fa78a1b0 TMPFS: Fixes several bugs 2015-10-10 15:26:07 -06:00
Gregory Nutt
f0be2b7b09 TMPFS: Fix error in reallocted directory 2015-10-10 14:15:33 -06:00
Gregory Nutt
e675ddb813 TMPFS: Reported block size is now configurable 2015-10-09 16:57:48 -06:00
Gregory Nutt
d80bea326f TMPFS: Fix a misbehaving assertion 2015-10-09 15:56:16 -06:00
Gregory Nutt
b489cd9610 TMFPS: Now basically functional although not heavily tested 2015-10-09 15:17:32 -06:00
Gregory Nutt
c25adcb74c TMPFS: More fixes 2015-10-09 13:33:28 -06:00
Gregory Nutt
9eb92268b7 TMPFS: Fixes a few bugs. Still not fully functional 2015-10-09 12:13:57 -06:00
Gregory Nutt
d359a5be13 TMPFS: Code complete, but not yet functional 2015-10-09 11:02:59 -06:00
Gregory Nutt
11a8a01462 TMPFS: Add mkdir and rmdir logic 2015-10-08 20:35:41 -06:00
Gregory Nutt
fcb55102f9 TMPFS: Add statfs and unbind methods 2015-10-08 18:27:20 -06:00
Gregory Nutt
fe4cf00ad3 TMPFS: A little more logic. Still incomplete 2015-10-08 16:48:49 -06:00
Gregory Nutt
6209c51206 net/: More clean-up of spacing/alignment issues 2015-10-08 15:10:04 -06:00
Gregory Nutt
1e6ffe7677 TMPFS update 2015-10-08 14:21:12 -06:00
Gregory Nutt
cc35c0c49d Add toosl/nxstyle.c 2015-10-08 12:48:40 -06:00
Gregory Nutt
e91f82b0f8 fs/tmpfs: Add an unfinished implementation of tmpfs 2015-10-08 12:26:35 -06:00
Gregory Nutt
e947ea587d Add fs/tmpfs. Nothing much there yet 2015-10-08 10:54:41 -06:00
Gregory Nutt
af086c40ff Remove dangling whitespace 2015-10-04 15:28:54 -06:00
Gregory Nutt
0b12dbf95d Fix some spacing problems 2015-10-04 15:04:00 -06:00
Gregory Nutt
5b51a9fcdd Standardize the width of all comment boxes in C files 2015-10-02 17:43:18 -06:00
Gregory Nutt
cb9e27c3b0 Standardize naming used for public data and function groupings 2015-10-02 16:30:35 -06:00
Gregory Nutt
cc7130b836 Correct a reference counting error in mq_open() 2015-09-23 10:34:08 -06:00
Bruno Herrera
915792cca1 fs/romfs: One allocation was not being freed if there was a subsequent failure to allocation I/O buffers resulting in a memory leak on certain error conditions. From Bruno Herrera. 2015-08-30 18:31:58 -06:00
Anton D. Kachalov
8d57be2b6f Eliminate compilation warnings
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-08-26 00:14:50 +03:00
Gregory Nutt
dd7ffa481c Fix a spelling error in a comment 2015-08-14 08:22:03 -06:00
Gregory Nutt
48107bf073 poll() now returns POLLERR for any file descriptor that returns a failure during the poll setup 2015-08-13 14:58:52 -06:00
- Max Neklyudov
3f8a084d01 fs/vfs/fs_poll.c: use sem_tickwait instead of sem_timedwait 2015-08-13 14:28:31 -06:00
Gregory Nutt
422ea4f673 Another epoll() change: Should not call printf from inside the OS 2015-08-10 10:41:58 -06:00
Gregory Nutt
c74dc5f83f Changes from review epoll() implementation for consistency with NuttX naming and coding style 2015-08-10 10:38:41 -06:00
Anton D. Kachalov
fd07043180 Add simple epoll' wrapper around poll'
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-08-10 18:15:24 +03:00
Gregory Nutt
146bdc3c93 TCB: Increase the size of the scheduling policy field from 1 to 2 bits to allow additional, planned scheduling policies 2015-07-23 10:15:07 -06:00
Gregory Nutt
fca919f3d2 Networking: Fix some compilation issues noted with network is build with CONFIG_BUILD_KERNEL 2015-07-05 11:18:56 -06:00
Gregory Nutt
342f5fe33d Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Manuel Stühn
f9c0168aba NFS: Fix prototype of unbind method. The function prototype was not updated for NFS after a recent change to the file system interface. From Manuel Stühn. 2015-06-26 07:06:53 -06:00
Gregory Nutt
cb039a0281 Minor tweak to last unionfs fix 2015-06-24 10:19:04 -06:00
Gregory Nutt
8ed9c24675 Fix a union file system bug 2015-06-24 09:07:13 -06:00
Gregory Nutt
8293a5e773 Minor file system clean-up 2015-06-18 10:16:49 -06:00
Gregory Nutt
a25ad1417e Updte a README file 2015-06-12 08:46:54 -06:00
Gregory Nutt
4607a8435f FS: Add the ability to mount a file system on top of en existing node in the psuedo-file system 2015-06-11 10:10:25 -06:00
Gregory Nutt
f753d3320b Trivial cleanup of some parameter sanity checks 2015-06-11 07:47:26 -06:00
Gregory Nutt
92f1f7c12e Fix test for root directory in inode_reserve 2015-06-11 07:18:44 -06:00
Gregory Nutt
f6743cde0f Update README.txt 2015-06-11 06:48:19 -06:00
Gregory Nutt
93e0980623 Add support for teensy-3.0 2015-06-10 11:45:53 -06:00
Gregory Nutt
b55b42d6c7 Update more broken URLs 2015-06-08 14:16:32 -06:00
Gregory Nutt
2225b1642c Update some README files 2015-06-07 10:25:03 -06:00
Gregory Nutt
87ab1edf25 Union FS: Clean up some statfs error handling 2015-06-07 08:17:28 -06:00
Gregory Nutt
1283e8eca7 Union FS: Correct some calculations in statfs 2015-06-07 07:39:07 -06:00
Gregory Nutt
afd7ef15dd Update README files 2015-06-07 07:28:09 -06:00
Gregory Nutt
f385e52a34 Union FS needs to unmount contained file systems when it is unmounted 2015-06-06 19:48:38 -06:00
Gregory Nutt
6563d0e444 Union FS: Fix a reference counting problem 2015-06-06 19:16:15 -06:00
Gregory Nutt
fe5e61960b Union FS. Fix the unlink() method. What was I thinking 2015-06-06 11:33:09 -06:00
Gregory Nutt
884f3cdf74 Union FS. Correct some handling when the last file is closed 2015-06-06 10:00:26 -06:00
Gregory Nutt
597493221e Union FS. Add logic to omit duplicates in file system 2 when doing directory listing 2015-06-06 09:49:13 -06:00
Gregory Nutt
05e6d9409d Union fs: Fix some compile issues with debug on. Add more test files 2015-06-06 08:36:24 -06:00
Gregory Nutt
1c2374aedb Fix a unionfs memory leak 2015-06-06 07:58:23 -06:00
Gregory Nutt
257a90a686 Fix a couple of unionfs readdir problems 2015-06-06 07:36:38 -06:00
Gregory Nutt
a78224d114 Add simulator configuration for testing the Union Fs. Fix a few bugs. Almost works but still too flaky 2015-06-05 15:02:24 -06:00
Gregory Nutt
edce8666b6 Add a test of the union file system to apps/examaples. 2015-06-05 14:23:07 -06:00
Gregory Nutt
1d370178fb Add support for a union file system that can be used to overlay and merge the content of two mounted file systems. 2015-06-05 13:18:06 -06:00
Gregory Nutt
1c6c76033a Lincoln60: Add GPIO definitions for the microSD slot 2015-06-04 16:58:59 -06:00
Gregory Nutt
4adda9d428 Fix numerous typos in configuration variable names. Tracked down by Alan Carvalho de Assis 2015-05-23 17:08:35 -06:00
Gregory Nutt
3c1af2feed Local sockets: Add poll support for Unix stream sockets. From Jussi Kivilinna. 2015-05-12 07:41:12 -06:00
Gregory Nutt
157ac4fb59 vfs: poll: fix resource leak and memory corruption. From Jussi Kivilinna. 2015-05-04 09:09:09 -06:00
Gregory Nutt
3d6161a7aa Update some comments 2015-04-13 07:39:56 -06:00
Gregory Nutt
1a3c6f7ec9 FAT: Fix misthink when CONFIG_ENDIAN_BIG=y. From Lwazi Dube 2015-04-12 14:24:05 -06:00
Gregory Nutt
ddb8073ad5 Update TODO list and some comments 2015-03-16 08:49:39 -06:00
Gregory Nutt
f60f22258a Trivial update to FAT, comments, README 2015-03-15 15:06:17 -06:00
Gregory Nutt
b637a0cc3e Costmetic changes name while debugging a filename issue 2015-03-15 12:22:12 -06:00
Gregory Nutt
7adc1b96c9 FAT cosmetic changes 2015-03-15 08:41:42 -06:00
Gregory Nutt
9f7f258728 Add support for umount2(target, MNT_FORCE) in the FAT file system. 2015-03-15 07:45:19 -06:00
Gregory Nutt
43936a6a69 Remove an UNSED that is no longer necessary 2015-03-14 18:41:26 -06:00
Gregory Nutt
e3bffdf92d Fix a ommission in the last changes to the unbind() method prototype 2015-03-14 18:14:54 -06:00
Gregory Nutt
2be14d09a2 Fix a bug in the FAT unbind() logic. There were problems with the way certain internal list handling was implemented. The end result is that newly opened or cloned file structures were never being added to the list of open files. So when the unmount() happens, it always looked like there were not open files and a crash could ensue. 2015-03-14 17:33:48 -06:00
Gregory Nutt
8055ba4d03 Pass the umount2() flags to every unbind() implementation. That is where the the decision to umount or not will be made. 2015-03-14 17:22:02 -06:00
Gregory Nutt
f932b26db1 Add umount2(). umount() is now a macro that just calls umount2() with flags = 0. 2015-03-14 16:48:45 -06:00
Gregory Nutt
6792cb3e34 procfs: fs_procfsproc: Fix potential NULL pointer dereference of 'node'. From Juha Niskanen 2015-03-12 07:42:39 -06:00
Gregory Nutt
d36d7a959d FAT: fat_unbind() was accessing 'fs->fs_sem' after freeing the 'fs' struct. From Juha Niskanen. 2015-03-11 13:11:50 -06:00
Gregory Nutt
404fef74d9 Fix two uses of DEBUG_COLORATION vs STACK_COLORATION (from David Sidrane). Also some corrected comments 2015-03-05 06:41:14 -06:00
Gregory Nutt
bcae42b653 Costmetic updates comments and style; Add NFS dependency on IPv4 2015-02-26 06:04:23 -06:00
Gregory Nutt
654788a8e0 Fix NFS compile problem with CONFIG_NFS_STATISTICS=y 2015-02-25 08:58:30 -06:00
Gregory Nutt
87794e494a Add some Kconfig dependencies to reduce possibility of bad configurations. Suggested by OrbitalFox 2015-02-25 08:43:25 -06:00
Gregory Nutt
127951e029 Fix places where the errno value was being overwritten by subsequent actions so that the returned errno value was incorrect. From Max Neklyudov. 2015-02-25 07:45:04 -06:00
Gregory Nutt
9ab0d4c56f fs/aio: Corrrect some backward tests in aio_read() and aio_write(): Socket descriptors have higher numbers than file descriptors. In aio_contain(), Copy u.ptr (void *) when initializing aioc and not the case specific u.aioc_filep. From Michal Ulianko. 2015-02-24 07:29:47 -06:00
Gregory Nutt
cded7ea682 Fix some time value changes; mostly changing greater than 1000000000 to greater than or equal to 1000000000. From Juha Niskanen 2015-02-20 07:07:36 -06:00
Gregory Nutt
60bdc27d25 Fix a couple of typos in recent commit. Found by David Sidrane 2015-02-17 19:21:07 -06:00
Gregory Nutt
b3dd424e10 mkfatfs: use DMA memory for mkfatfs when needed
this makes mkfatfs use fat_dma_alloc() when CONFIG_FAT_DMAMEMORY is
set. This is needed to ensure mkfatfs operates with boards that use
DMA for microSD

From Andrew Tridgell via the PX4/NuttX repository
2015-02-17 16:57:15 -06:00
Gregory Nutt
f357897b6c Some files that now include sys/time.h should no longer include timer.h 2015-02-15 16:38:18 -06:00
Gregory Nutt
d6704a1cd7 Suffer the consequences of moving struct timeval to its correct location 2015-02-15 15:18:35 -06:00
Gregory Nutt
e7470e0834 Update dates in all skeleton files 2015-02-13 06:13:34 -06:00
Gregory Nutt
38781d308e VFS: New block driver unlink support is dependent on mountpoint support 2015-01-31 17:16:30 -06:00
Gregory Nutt
eb1aca3e46 Add an unlink method to block driver interface. Same motivataion as for the same modification to the character driver interface 2015-01-31 13:19:23 -06:00
Gregory Nutt
62e588a0a4 VFS: Add an unlink method to the character driver interface. This is important because if the character driver inode is unlinked and there are no open references to the driver, then the driver resources will be stranded. On the unlink call, the driver has the opportunity (1) check if there an any open references, and (2) if not free the driver resources 2015-01-31 11:31:34 -06:00
Gregory Nutt
7e46e94546 Remove CONFIG_DEBUG_STACK. Adding CONFIG_STACK_COLORATION makes this configuration option pointless 2015-01-24 06:49:51 -06:00
Gregory Nutt
8f8259a0d6 Networking: UDP and TCP MSS depends on the IP header size (as well as the link layer header size) and cannot be represented with a single value. 2015-01-16 15:03:10 -06:00
Gregory Nutt
e9cec9057b There were some changes which broke my NuttX-Build. With these two patches it builds again. From Manuel Stühn 2015-01-01 15:56:25 -06:00
Gregory Nutt
936e4e529d Don't build pread()/pwrite() if file system support is disabled 2014-12-28 15:20:41 -06:00