Commit Graph

662 Commits

Author SHA1 Message Date
Gregory Nutt
936e4e529d Don't build pread()/pwrite() if file system support is disabled 2014-12-28 15:20:41 -06:00
Gregory Nutt
68038211c1 FS: Add a check for a NULL pathname. 2014-12-13 13:05:54 -06:00
Gregory Nutt
cdc8fc52d1 SmartFS: Implements wear-leveling in the SmartFS. From Ken Pettit 2014-12-09 14:11:15 -06:00
Gregory Nutt
cb051a522d Add procfs write support. From Ken Petit 2014-12-09 13:24:38 -06:00
Gregory Nutt
58ce5653fb Fix a typo in a recent commit 2014-12-08 08:28:50 -06:00
Gregory Nutt
8bd5556b47 Fix compilation errors if CONFIG_DISABLE_MOUNTPOINT is selected 2014-12-08 07:14:31 -06:00
Gregory Nutt
ff87e2e02a In message queue created return ENOSPC error if size exceeds the configured size of pre-allocatd messages; Use ENOSPC vs ENOMEM per OpenGroup.org. From Pierre-Noel Bouteville 2014-12-06 07:18:48 -06:00
Gregory Nutt
76906110b0 Correct spelling: MOUNTPOINT not MOUNTPOUNT. Numerous places. Some are problems. From Woohan Lee 2014-12-01 06:41:30 -06:00
Gregory Nutt
7ad7163bd3 Updated comments 2014-11-29 17:39:40 -06:00
Gregory Nutt
e31d5125ae Add support for a variadic ioctl() function. The ioctl() interface is a non-standard, Unix interface. NuttX has always used the older, three-parameter version. Most contemporary systems now, however, use a variadic form of the ioctl() function. Added an option to insert a shim layer to adapt the three-parameter ioctl() to use the variadic interface form. Internally, the ioctl handling is the same three-parameter logic. The only real complexity to the shim is in how the system calls must be handled. 2014-11-29 10:53:22 -06:00
Gregory Nutt
1aa528a572 More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs. 2014-11-25 14:10:35 -06:00
Gregory Nutt
9ac09db800 More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs. 2014-11-25 13:46:14 -06:00
Gregory Nutt
71d27ec3da apps/examples/bridge: Add host-side test driver 2014-11-21 08:20:25 -06:00
Gregory Nutt
6eee578317 vfs/poll: add proper handling for sem_timedwait errnos. From Jussi Kivilinna 2014-11-21 06:38:26 -06:00
Gregory Nutt
bee3640829 Simplifed semaphore wait logic in poll() 2014-11-19 09:49:11 -06:00
Gregory Nutt
4448cc43db poll() was not waking up from signals (for example mq_notify() events).
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@haltian.com>
2014-11-19 09:31:51 -06:00
Gregory Nutt
2e55db369d Network: All logic will now handle varialbe length link layer protocol headers within incoming packets. This permits use of multiple network interfaces with differing data links. For example, ETHERNET + SLIP 2014-11-15 13:13:23 -06:00
Gregory Nutt
d287e7036d Let's raise the priority of NXFFS dumps to LOG_NOTICE 2014-11-12 11:38:48 -06:00
Gregory Nutt
6a9296c397 Fix prolblems with redefinitions of fdb macro. With the fix to the syslog prototype, a LOG priority must now be the first paramter. Fixed by replacing all occurrences of fdbg with syslog(LOG_DEBUG, and eliminating the macro redefinitions. Noted by Sebastien Lorquet. 2014-11-12 07:15:13 -06:00
Gregory Nutt
839d3f2204 Cosmetic. Fix some conditional logic in some conditioned out code 2014-11-02 17:26:38 -06:00
Gregory Nutt
cc679cc902 SYSLOG timestamp configuration option should not depend on CONFIG_SYSLOG and the default value should be n 2014-11-01 13:47:10 -06:00
Gregory Nutt
e6c2a36bbe Add optional timestamp to syslog output. From pn_bouteville@yahoo.fr 2014-11-01 09:17:34 -06:00
Gregory Nutt
f8f6a8fbce AIO: Several fixes for socket transfers, mostly from Victor Mayoral Vilches 2014-10-27 15:54:35 -06:00
Gregory Nutt
d2424ac65c Fix a couple of problems introduced in the last commmits 2014-10-11 08:29:26 -06:00
Gregory Nutt
ae3cc327c7 AIO now also supports socket transfers 2014-10-11 08:15:23 -06:00
Gregory Nutt
91f5ecc347 fs/aio/aio.h needs to disable itself is CONFIG_FS_AIO is not defined 2014-10-09 10:45:43 -06:00
Gregory Nutt
5815201cc2 Move syslog back to libc/syslog from fs/syslog 2014-10-09 07:08:36 -06:00
Gregory Nutt
4efb064169 Remove non-standard, conditional syslog_enable(), instead only the required, standard setlogmask() 2014-10-09 06:09:03 -06:00
Gregory Nutt
6d28596fa5 Fix a naming problem (actally a cut'n'paste problem) 2014-10-08 20:17:18 -06:00
Gregory Nutt
bbc658930a Passing va_list in syscall does not work. Temporarily moved syslog and lowsyslog into kernel code and access via a system call. Need to revisit. Will probably need to move all of syslog back from fs/syslog to libc/syslog 2014-10-08 20:12:52 -06:00
Gregory Nutt
ec57ab6391 Implement setlogmask(); move some syslog logic from libc/syslog to fs/syslog 2014-10-08 19:08:26 -06:00
Gregory Nutt
f8ed7323c0 make standard syslog and vsyslog POSIX compliant (also modify non-standard syslog functions for compatibility). This will break a lot of things until ALL usage of syslog is updated to use the modified interfaces 2014-10-08 09:44:15 -06:00
Gregory Nutt
974f884ddc Fix typos that cause compile error when file system debug is enabled 2014-10-07 13:49:49 -06:00
Gregory Nutt
e5f34875ff AIO signal related fixes; extensino to AIO test 2014-10-07 09:57:20 -06:00
Gregory Nutt
f575567f55 Fix a compilation error in last commits that occure if CONFIG_PRIORITY_INHERITANCE is not selected 2014-10-07 09:07:54 -06:00
Gregory Nutt
4c7b988525 Update some comments 2014-10-07 08:34:10 -06:00
Gregory Nutt
98a4b6fb79 The Asynch I/O implementation now satisfies POSIX priority requirements; it uses the new low priority worker thread interfaces to adjust the priority of the worker thread according to the priority of the client thread 2014-10-07 08:24:50 -06:00
Gregory Nutt
e38640ecd8 Eliminate a warning 2014-10-06 16:15:24 -06:00
Gregory Nutt
9e102bc458 Fix some cornercase locking issues; make AIO lock re-entrant 2014-10-06 15:54:00 -06:00
Gregory Nutt
67030f9049 Add test for aio_cancel() and fix some bugs found by the test 2014-10-06 15:06:01 -06:00
Gregory Nutt
b447c413d0 Fix some errors and spec compliance issues with aio_cancel() 2014-10-06 14:28:40 -06:00
Gregory Nutt
7cbe29e7db Fix compile problems with debug on 2014-10-06 12:28:37 -06:00
Gregory Nutt
cd0c493657 Basic fixes for a clean simulator build with last big fs changes 2014-10-06 11:02:58 -06:00
Gregory Nutt
d914f3ceec Major structure of file system functions to better support asynchronous I/O. Respository should not be trusted until I have a chance to verify everything 2014-10-06 10:53:25 -06:00
Gregory Nutt
d2797bf482 Modify FS initialization logic to handle AIO container initialization. 2014-10-06 08:11:37 -06:00
Gregory Nutt
a5b4a4161b Modify logic to use AIO control block container 2014-10-06 08:10:32 -06:00
Gregory Nutt
52ce95b8b8 Add a AIO control container to increase the payload with OS internal stuff. 2014-10-06 08:10:02 -06:00
Gregory Nutt
e8a2e3a506 Fix some compilation issues introduced with last commit 2014-10-05 16:04:19 -06:00
Gregory Nutt
652d3ed29d Rename CONFIG_LIBC_AIO to CONFIG_FS_AIO since it is now an OS property 2014-10-05 15:44:43 -06:00
Gregory Nutt
f73a18ae39 Move all file operations from libc/aio to fs/aio. These will need to be kernel routines in order to handler issues with using file descriptors on worker thread 2014-10-05 15:33:31 -06:00
Gregory Nutt
6d33cd329d First pread/pwrite typo fixes 2014-10-04 07:39:30 -06:00
Gregory Nutt
948be542a1 Add pread() and pwrite() 2014-10-04 07:31:13 -06:00
Gregory Nutt
55be11b406 Fix an error when compiled with debug enabled 2014-09-30 08:06:37 -06:00
Gregory Nutt
71b574f26c Repartition some message queue logic: sched/mqueue should have all mqueue knowledge; fs/mqueue should deal only with inodes 2014-09-30 08:03:39 -06:00
Gregory Nutt
f934db2db5 Add support for a custom NSH ROMFS startup image header file location. From Martin Lederhilger 2014-09-30 06:43:49 -06:00
Gregory Nutt
ddbcba03d3 Oops... forgot to add a new directory in the last commit 2014-09-29 16:48:01 -06:00
Gregory Nutt
db3cdcf7cc Add a framework that may someday support shared memory objects in the VFS 2014-09-29 16:46:31 -06:00
Gregory Nutt
2f970ffaf7 Eliminate a warning about an uninitilized variable 2014-09-29 16:46:01 -06:00
Gregory Nutt
5462ede661 Fix some unbalanced sched_lock()/sched_unlock() pairs int the re-implemented VFS semaphore and message queue logic 2014-09-29 16:13:07 -06:00
Gregory Nutt
e340d89990 First round of fixes for re-implemented VFS message queues 2014-09-29 16:03:56 -06:00
Gregory Nutt
419b074b15 Completes the re-implementation of mq_unlink() 2014-09-29 15:48:52 -06:00
Gregory Nutt
1f2cc9f4fe Complete re-implementation of mq_close 2014-09-29 15:33:34 -06:00
Gregory Nutt
584d0fe4ad Complete re-implementation of mq_open() 2014-09-29 14:59:31 -06:00
Gregory Nutt
9e975a217d Separate mqueue allocation logic from mq_open() and put it in sched/mqueue/mq_msgqalloc.c 2014-09-29 14:09:31 -06:00
Gregory Nutt
b0f80cc8db Move mq_open.c, mq_close.c, and mq_unlink.c from sched/mqueue to fs/mqueue 2014-09-29 13:35:32 -06:00
Gregory Nutt
3973c2676d Fix a missed include file change 2014-09-29 12:53:20 -06:00
Gregory Nutt
ae90309b36 Move fs/fs.h to fs/inode/inode.h and some to fs/driver/driver.h 2014-09-29 07:14:38 -06:00
Gregory Nutt
d5dd9842dc Add build support for messages queues as part of the VFS (only build logic, no C files yet) 2014-09-29 07:00:11 -06:00
Gregory Nutt
1b2729e35e More testing, bugfixes and integration of VFS-based named semaphores 2014-09-28 17:30:42 -06:00
Gregory Nutt
11a33801c4 Fix a typo in a Make.defs file 2014-09-28 16:45:39 -06:00
Gregory Nutt
999cc5ef8b Seems to work okay now, but needs more testing 2014-09-28 16:36:43 -06:00
Gregory Nutt
650a0d0615 Completes VFS-based named semaphore implemetation. Still a little buggy 2014-09-28 15:58:56 -06:00
Gregory Nutt
30694f064c Add VFS-based sem_open() implementation 2014-09-28 14:35:17 -06:00
Gregory Nutt
8a6a202c6d straighten out files in some Make.defs files 2014-09-28 12:26:22 -06:00
Gregory Nutt
242b34cf46 Create a build structure that will (eventually) support using the VFS to manage named semaphores 2014-09-28 12:19:01 -06:00
Gregory Nutt
ff73be870e Move renaming files in fs/. to fs/vfs/. (Don't all belong there) 2014-09-28 11:46:11 -06:00
Gregory Nutt
36a88638a4 Move mount-related files from fs/. to fs/mount/. 2014-09-28 11:28:17 -06:00
Gregory Nutt
349c44ded5 Move directory operations from fs/ to fs/dirent 2014-09-28 11:17:36 -06:00
Gregory Nutt
7679e6f2bc Forgot to add files from previous commits 2014-09-28 11:16:58 -06:00
Gregory Nutt
a470a8cbd0 Move drive from fs/. to fs/driver/. 2014-09-28 11:06:21 -06:00
Gregory Nutt
39ff9d626e Move inode and VFS utils from fs/. to fs/inode/. 2014-09-28 10:53:40 -06:00
Gregory Nutt
d038133501 Rename fs/fs_internal.h to fs/fs.h 2014-09-28 09:13:56 -06:00
Gregory Nutt
79eeb9f1b5 A little more clean-up of poll() error handling 2014-09-26 08:25:00 -06:00
Gregory Nutt
a05107e7fe fs/poll: More typo fixes. Now I understand. It was not really being built in the configuration that I was using 2014-09-26 07:25:34 -06:00
Gregory Nutt
edcf863162 Typo fix. Hmmm... how did this compile before? 2014-09-26 07:18:16 -06:00
Gregory Nutt
67cda62aea Should include time.h 2014-09-26 07:03:59 -06:00
Gregory Nutt
c652092ac4 Re-implemented poll() using sem_timedwait() 2014-09-26 06:28:20 -06:00
Gregory Nutt
c4978f7ef0 Fix unecessary delays and timing jitter in the implementation of poll(): No delay if timeout is zero; If timeout is greater than zero, first check if events are already pending events before starting the delay. From Johannes Hampel 2014-09-25 06:30:25 -06:00
Gregory Nutt
e4e458b315 Fix a typo introduced my my meddling with Ken's last commits 2014-09-22 11:40:59 -06:00
Gregory Nutt
34a057334c Update SMART FS procfs support. From Ken Pettit 2014-09-22 11:19:49 -06:00
Gregory Nutt
b05d20a6e7 procfs: Fix some breakage introduced by reorganizing some un-reorganizable data structures. From Ken Pettit 2014-09-22 11:07:08 -06:00
Gregory Nutt
109ccc774d SMART FS update from Ken Pettit 2014-09-22 09:33:58 -06:00
Gregory Nutt
31a908ea3a Cosmetic changes to comments/spacing 2014-09-08 08:57:25 -06:00
Gregory Nutt
b2a94b6f2b Fix more places where the user-mode allocator is used to allocate kernel thread resources -- before the user-mode allocator even exists 2014-09-03 14:58:24 -06:00
Gregory Nutt
205260d5e2 Reanem kzalloc to kmm_zalloc for consistency 2014-08-31 17:34:44 -06:00
Gregory Nutt
1780810d3d Rename kmalloc to kmm_malloc for consistency 2014-08-31 17:26:36 -06:00
Gregory Nutt
54fa3b0b59 Rename kfree to kmm_free for consistency with other naming conventions 2014-08-31 17:04:02 -06:00
Gregory Nutt
9aca0c1c84 Rename kumalloc to kumm_malloc and kuzalloc to kumm_zalloc for consistency with other naming 2014-08-31 16:24:24 -06:00
Gregory Nutt
9ad7dae4c1 Rename kufree to kumm_free for consistency with other naming 2014-08-31 16:15:11 -06:00
Gregory Nutt
9cd1ddada4 Rename kmemalign to kmm_memalign and krealloc to kmm_realooc for consistency with other naming 2014-08-31 15:27:37 -06:00