Commit Graph

769 Commits

Author SHA1 Message Date
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
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