Gregory Nutt
85c31fd4a2
fs/procfs/fs_procfscritmon.c and sched/sched/sched_critmonitor.c: Add support for global pre-emption and global critical sections to monitor as suggested by Xiang Xaio.
2018-11-24 13:33:37 -06:00
Gregory Nutt
fc6084f311
Squashed commit of the following:
...
fs/procfs/fs_procfsproc: Extended the process ID ProcFS output to show per-thread maximum time for pre-emption disabled and maximum time within a critical section.
sched/sched/sched_critmonitor.c: Adds data collection logic in support of monitoring critical sections and pre-emption state.
2018-11-24 10:32:45 -06:00
Gregory Nutt
97b0235d77
s/dirent: Corrects a problem with opendir() noted by Petteri Aimonen in Bitbucket Issue 132: "opendir() fails for FAT filesystem with trailing slash in path":
...
I see the following behaviour on NuttX 7.26, where I have SD card mounted on /flash and a directory called "frm" on it:
opendir("/flash") returns (DIR *) 0x1000c580
opendir("/flash/") returns (DIR *) 0x1000c5d0
opendir("/flash/frm") returns (DIR *) 0x1000c620
opendir("/flash/frm/") returns (DIR *) 0x0
From POSIX specs for opendir(): "A pathname ... that ends with one or more trailing slashes shall be resolved as if a single dot character ( '.' ) were appended to the pathname."
So for mount points, opendir() works correctly, but for FAT32 filesystem it fails to open directory if the path has a trailing slash. I'm not quite sure how to cleanly fix this. Stripping the trailing slash in opendir() would require allocating a separate buffer, while fixing it in the FAT32 code seems somewhat complex due to the short/long filename logic.
It is not a big issue for me, I'm just going to fix it on the application side. But still a small portability and standards compliance issue.
NOTE: You would not see this problem if you call opendir() indirectly in NSH (like 'ls -R /') because NSH contains logic to remove trailing '/' characters from paths.
2018-11-16 11:45:18 -06:00
Gregory Nutt
9d09b5aad7
Eliminate a warning found in build testing.
2018-11-09 13:23:12 -06:00
Xiang Xiao
d2cfd398ba
Fix compiler error and warning when CONFIG_NET_SENDFILE=y
2018-11-09 11:17:43 -06:00
Gregory Nutt
31485356b8
Updates based on coding style review of PR 755
2018-11-09 07:51:43 -06:00
Petteri Aimonen
96da659c0b
Merged in paimonen/nuttx/pullreq_FAT_improvements (pull request #755 )
...
Pullreq FAT improvements
* NuttX: Add CONFIG_FAT_LFN_ALIAS_HASH to speed up creating long filenames.
Long filenames on FAT filesystems have associated 8.3 character alias
short filenames. The traditional form of these is FILENA~1.EXT with
a running count of the number of similar names. However creating this
unique count can take several seconds if there are many similarly named
files in the directory. Enabling FAT_LFN_ALIAS_HASH uses an alternative
format of FI0123~1.TXT where the four digits are a hash of the original
filename. This method is similar to what is used by Windows 2000 and
later.
* NuttX: Add CONFIG_FAT_LFN_ALIAS_TRAILCHARS alternative format for 8.3 filenames.
Traditional format for long filename 8.3 aliases takes first 6
characters of long filename. If this option is set to N > 0,
NuttX will instead take first 6-N and last N characters to form
the short name. This is useful for filenames like "datafile12.txt"
where the first characters would always remain the same.
* NuttX: FAT32: Fix file date corruption in fat_truncate().
* NuttX: if SD card wait seems to be a long one, give time for other threads to run.
Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-09 13:46:16 +00:00
zhangyuan7
a7d9d4bc1e
drivers/serial/uart_16550.c: Fox UART flow control issue. UART_MCR_RTS need be high even UART_MCR_AFCE is enabled
2018-11-08 10:21:16 -06:00
iuhaitao
82e0b0328b
fs/procfs: Add /proc/version support to get version info
2018-11-08 10:13:45 -06:00
Xiang Xiao
2f63becbc8
fs/driver: Add register_mtdpartition() for MTD partition
2018-11-08 10:03:07 -06:00
Xiang Xiao
e674edfa19
fd/dirent, fs/driver/, and fs/vfs: Make MTD device accessible via a character driver proxy like block devices
2018-11-08 09:59:18 -06:00
Xiang Xiao
f40a1c6749
fs/mount/fs_mount.c mount: Add support for mounting a file system with either a block or an MTD driver.
2018-11-08 09:51:06 -06:00
Xiang Xiao
247414c6ad
drivers/mtd and other MTD drivers: Remove mtd_procfsoperations since we can now get the same information from inode
2018-11-08 09:46:11 -06:00
Xiang Xiao
d32d9d4b24
fs/partition: Try MTDIOC_GEOMETRY IOCTL before bops's geometry
...
fs/driver/fs_blockpartition.c: Support MTD IOCTL
2018-11-08 09:41:54 -06:00
Xiang Xiao
a9ff43d93c
fs/aio, libs/libc/aio, sched/mqueue, sched/timer, and sched/signal: Remove the code duplication for SIGEV_THREAD.
2018-11-08 08:19:17 -06:00
Gregory Nutt
706b20a49f
fs/vfs/fs_read.c: Elimnate a warning noted by Anonymouns in Issue 124.
2018-10-12 14:58:21 -06:00
Gregory Nutt
4391b51cd3
fs/procfs/fs_procfsproc.c: Change output of the env file so that it looks more like output from the 'env' command. Documentation/NuttShell.html: Document the new NSH 'env' command.
2018-09-30 11:15:28 -06:00
Gregory Nutt
a037aeec5d
Trivial update to a comments and to SPIFFS comments and debug output.
2018-09-30 07:15:15 -06:00
Gregory Nutt
d23c5e0d61
fs/spiffs: Add a check for an error in a return value. Improve some working in the TODO list.
2018-09-29 17:19:04 -06:00
Gregory Nutt
cc539d7f95
fs/spiffs: Need to flush cache to FLASH when closing file. Also updates TODO list.
2018-09-29 15:04:11 -06:00
Gregory Nutt
d8bfb4e3a2
fs/spiffs: Fix some disagreement between the NuttX wrapper and the core SPIFFS with regard to meaning of a return value. This was causing more writes than necessary and wasting FLASH space.
2018-09-29 11:01:46 -06:00
Gregory Nutt
5fad655982
configs/sim/spiffs/defconfig: Remove CONFIG_EXPERIMENTAL.
2018-09-28 20:05:42 -06:00
Gregory Nutt
6a12213fbb
fs/spiffs: I have been test with apps/examples/fstest which provides a good exercise but of the FS internals but not of the user interface. I build an SPIFFS aware NSH configuration and found and fixed a number of glaring usability errors: (1) Missing logic to stat the SPIFFS root directory, (2) Confusion in use to two similarly named struct field... caused files to be unexpectedly deleted. (3) Fixed a sempahore deadlock condition. And (5) Fix /procfs/mount. It was unaware of the SPIFFS file system type.
2018-09-28 17:35:25 -06:00
Gregory Nutt
e90723307e
fs/spiffs: Fix an error in who the deferred 'unlink' is handling in close(). Modify read() and write behavior() so that they do not return so many partial reads and writes.
2018-09-28 13:21:44 -06:00
Gregory Nutt
294456fa20
fs/spiffs: Add logic to dump the logical context of the FLASH.
2018-09-28 11:23:42 -06:00
Gregory Nutt
2ca8c6682c
fs/spiffs: fs/spiffs: Fix several bugs: (1) Fix bad statfs return values. (2) Fix an error in spiffs_unlink(). Fix an in error detection logic when closing a file.
2018-09-27 19:29:00 -06:00
Gregory Nutt
2d2dd5e9e3
fs/spiffs: Fix bad check for return value. In NuttX all values greater than or equeal to 0 are successes.
2018-09-27 14:24:46 -06:00
Gregory Nutt
1273f727c0
File System IOCTLs: Three new IOCTLS were added for SPIFFS, two of which were duplicates.
2018-09-27 12:25:23 -06:00
Gregory Nutt
65ef3acf70
fs/spiffs: Still uses some internal error codes that should be replaced with errors from errno.h. For now, I just added a mapping function before any value is returned to the caller: And of these detailed internal errors are simply mapped to -EFTYPE. Most are related to improper internal data structures so -ETYPE is possibly appropriate. Aslo SPIFFs is no longer is EXPERIMENTAL. Many things work but I the code is very immature and many things will not work.
2018-09-27 11:33:09 -06:00
Gregory Nutt
554745946d
fs/spiffs: The MTD interfaces needs its own, dedicated page buffer for read-modify-write operations. It cannot share the normal 'working' page buffer because it is sometimes in-use when the MTD interface needs it. Also and more DEBUG output and controls for the MTD interface.
2018-09-27 09:35:58 -06:00
Gregory Nutt
7a2f70495a
fs/spiffs: Fix yet another interface with NuttX MTD. This time, the calculation of the number of whole blocks.
2018-09-26 20:00:25 -06:00
Gregory Nutt
5cc68ad3b8
fs/spiffs: Fix yet another interface with NuttX MTD. This time, the calculatio of the terminal block number.
2018-09-26 18:30:46 -06:00
Gregory Nutt
b4488a0549
fs/spiffs: Fix an error in write operation. examples/fstest now gets further before errors occur, but still does not work correctly.
2018-09-26 18:00:46 -06:00
Gregory Nutt
31e6fb561b
fs/spiffs: Costmetic name changes more more consistency.
2018-09-26 15:50:55 -06:00
Gregory Nutt
d59893a456
fs/spiffs: Fixes yet another SPIFFS/MTD interfacing bug.
2018-09-26 15:16:38 -06:00
Gregory Nutt
63ba200957
fs/spiffs: Correct error in MTD multi-block read/write logic.
2018-09-26 12:29:42 -06:00
Gregory Nutt
6d2cce99e1
fs/spiffs: Fix more problems found in testing. It is getting closer but examples/fstest is still showing problem.
2018-09-26 10:05:43 -06:00
Gregory Nutt
71eac2d530
fs/spiffs: Correct the MTD block write logic.
2018-09-25 18:05:45 -06:00
Gregory Nutt
9984e209ab
fs/spiffs: Various fixes from initial testing. Still lots of issues. Also changes from further review to get better naming consistency and functional partitioning.
2018-09-25 16:19:03 -06:00
Gregory Nutt
8373784afe
Squashed commit of the following:
...
fs/spiffs: Finished review, update, and repartitioning of spiffs_core.c.
fs/spiffs: Converted macro SPIFFS_VALIDATE_OBJIX to a function.
fs/spiffs: Move SPIFFS_VALIDATE_DATA and SPIFFS_CHECK_RES macros inline.
2018-09-25 12:15:24 -06:00
Gregory Nutt
ec498d2660
This commit brings in an inital port of the SPIFFS flash file system into NuttX. The file system is still untested at this point (and subject to some additional review). It is, however, marked EXPERIMENTAL should this should not cause a problem for anyone.
...
Squashed commit of the following:
fs/spiffs: Fix last compilation issue. Now compiles without error. It is still not quite ready for testing as there is additional code review that must be be performed. It is now marked as EXPERIMENTAL so that it can be brought onto the master branch with little risk.
fs/spiffs: Remove some dead code.
fs/spiffs: Weak start of analysis of spiffs_nucleus.c. Renamed to spiffs_core.c
fs/spiffs: Rename spiffs_nucleus.c to spiffs_core.c
fs/spiffs: Remove spiffs_config.h. All configuration settings are now available in the SPIFFS Kconfig options.
fs/spiffs: Finished review, update, and repartitioning of spiffs_check.c. Added spiffs_check.h.
fs/spiffs: Finished review, update, and repartitioning of spiffs_cache.c. Added spiffs_cache.h.
fs/spiffs: Clean up some defines used in debug output statements.
fs/spiffs: Finished review, update, and repartitioning of spiffs_gc.c. Added spiffs_gc.h.
fs/spiffs: Now that VFS interface is completed, I have begun the long march of repartitioning the remaining functionality, reviewing logic, identifying dead code, and cleaning up loose ends.
fs/spiffs: Initial integration of MTD interface, replacing the SPIFFS native flash interface. Lots of open issues such as the use of pages vs. blocks vs. erase blocks and units of addresses, offsets, and lengths that are passed in function calls. Remove SPIFFS_USE_MAGIC support. That option (which default to OFF anyway), wrote a magic value at the beginning of every sector and support verifiable identification of the file system. It was not being and used and removing it makes life simpler.
fs/spiffs: Remove semaphore lock on the file object structure. Ultimately, the file access must modify the volume and access the volume structue which also has a exclusivity lock. So use of the volume lock alone should be sufficient.
Integrated the SPIFFS rename logic into the NuttX VFS. Removed non-standard application calls or convert them to IOCTL commands. These were converted to IOCTL commands: (1) integrity check, (2) garbage collection, and (3) format flash. These were removed: (1) Integrity check callback. These provided a lot of good information about the state of the file system, but such callbacks are not compatible with a POSIX compliant file system. (2) Index maps. The index maps were a performance improvement feature. The user could provide the memory and request that a region of a a file use that memory for improved lookup performance when accessing parts of the file. The fallback is the less performance lookup by traversing the FLASH memory. (3) Removed the quick garbage collection interface (the code is still used internally). Only the full garbage collection is available to the user application via IOCTL.
configs/sim/spiffs: A simulator configuration to use for testing SPIFFS.
fs/spiffs: Integrate SPIFFS logic into NuttX VFS bind() and unbind() methods.
fs/mount/fs_mount.c: Add SPIFFS to the list of drivers that require MTD vs block drivers.
fs/spiffs: Trivial changes, mostly from analysis of how to integrate the rename() VFS method.
fs/spiffs: Connect NuttX VFS unlink method to the SPIFFS_remove() function. Lots of name-changing.
fs/spiffs: Remove non-standard errno support. Remove bogus SPIFFS_LOCK() and SPIFFS_UNLOCK() macros.
fs/spiffs: Add NuttX VFS implementation for statfs() method. Clean up some of the accumulating compilation problems.
fs/spiffs: Add stat(), truncate() methods. Dummy out unsupport mkdir() and rmdir() methods.
fs/spiffs: Replace some of the custom error numbers with standard error numbers.
fs/spiffs: Hooks read(), write(), fstat(), ioctl(), opendir(), closedir(), rewindif(), and readdir() into the NuttX VFS.
fs/spiffs: Beginning the organization to work with the NuttX VFS. Lots of things are get broken!
fs/spiffs: Add spiffs.c which will be the interface between SPIFFS and NuttX. No very close at present, however.
fs/spiffs: Clean up some compile problems introduced by coding standard changes.
fs/spiffs: A little closer to NuttX coding standard.
fs/spiffs: Ran tools/indent.sh against all files. Closer to NuttX coding standard, but needs a lot more effort to be fully compliant.
fs/spiffs: This commit brings in version 0.3.7 of Peter Anderson's SPIFFS. The initial commit includes the core FS files (with some definitions destributed to their correct header files) and hooks into the build system.
2018-09-24 18:05:09 -06:00
Gregory Nutt
91410573ef
fs/mount/fs_mount.c: Correct an error introduced in the last commit (but only when file systems that need MTD drivers are included.
2018-09-22 14:39:11 -06:00
Gregory Nutt
992b293122
Squashed commit of the following:
...
fs/driver and fs/mount: Add mount() support for file systems that require MTD drivers (vs. block drivers).
fs/drivers: Add support for named MTD drivers in the psuedo file system. This will, eventually, allow us to mount file systems that need MTD drivers without having to fake an intervening block driver.
2018-09-22 14:20:18 -06:00
Gregory Nutt
913d013d8f
Revert last change to the TODO list. There is no issue.
2018-09-19 12:15:04 -06:00
Gregory Nutt
94f26c0220
fs/inode/fs_fileclose.c: Move file_close() a separate file. It no longer makes since for it to cohabitate with file_detach().
2018-09-15 13:19:14 -06:00
Gregory Nutt
3a4984a40b
Rename file_close_detached() to juse file_close() for better consistency in naming.
2018-09-15 13:04:56 -06:00
Gregory Nutt
a7fd58c4db
Squashed commit of the following:
...
many locations: Change occurences of open() followed by file_detach() to file_open(). Change most non-controversion calls to open() to nx_open().
fs/inode/fs_fileopen.c: Flesh out file_open() with some interim, placeholder logic.
fs/inode/fs_fileopen.c: Add a framework for a file_open() implementation (no real logic in place yet).
fs/vfs/fs_open.c: Add nx_open() which is the same as open() except that it does not create a cancellation point nor does it modify the errno variable.
2018-09-15 10:49:41 -06:00
EunBong Song
a279815434
fs/smartfs/smartfs_smart.c: Current sector should have a space for next entry size. If not, we should move to next sector.
2018-09-14 06:36:55 -06:00
Gregory Nutt
fc127fd297
sched/signal: Add a generic signal notification facility. Modify the custom IOB available notifier so that it is now just a wrapper around this generic signal notification. This generic signal notification faility will, eventually, be used to support network polling.
...
Squashed commit of the following:
mm/iob: The IOB available notifier is now just a wrapper around the common signal notifier.
sched/signal: Add a generic signal notification facility.
sched/signal/sig_evthread.c: More trivial naming changes.
sched/signal: Rename nxsig_notification() to nxsig_evthread() to make forthcoming naming additions more consistent.
2018-09-09 08:32:37 -06:00
Gregory Nutt
33e3fb7a70
Correct mispellings of pseudo. Update some comments in signal.h.
2018-09-05 11:56:14 -06:00
Gregory Nutt
a7265d71c6
This commit adds support for default signal actions for SIGSTOP, SIGSTP, and SIGCONT.
...
Squashed commit of the following:
Add procfs support to show stopped tasks. Add nxsig_action() to solve a chicken and egg problem: We needed to use sigaction to set default actions, but sigaction() would refuse to set actions if the default actions could not be caught or ignored.
sched/signal: Add configuration option to selectively enabled/disable default signal actions for SIGSTOP/SIGSTP/SIGCONT and SIGKILL/SIGINT. Fix some compilation issues.
sched/sched: Okay.. I figured out a way to handle state changes that may occur while they were stopped. If a task/thread was already blocked when SIGSTOP/SIGSTP was received, it will restart in the running state. I will appear that to the task/thread that the blocked condition was interrupt by a signal and returns the EINTR error.
sched/group and sched/sched: Finish framework for continue/resume logic.
sched/signal: Roughing out basic structure to support task suspend/resume
2018-08-30 10:27:18 -06:00
Gregory Nutt
d88cb93d95
fs/vfs and fs/inode: Trivial typo fixes gleaned from the fileopen branch.
2018-08-29 16:01:56 -06:00
Xiang Xiao
70a0bf0849
Squashed commit of the following:
...
fs/partition/fs_partition.c: Add PTABLE parser
fs/partion: Add a partition parser framework
fs/driver/fs_blockpartition.c: Add register_blockpartition for block partition
2018-08-28 07:30:21 -06:00
Gregory Nutt
05faba2514
include/nuttx/fs/fs.h: ... conflicting types for file_fstat().
2018-08-26 16:13:09 -06:00
dongjianli
56883eef3b
fs/vfs/fs_poll.c: Add poll use in kernel space.
2018-08-26 13:44:07 -06:00
Xiang Xiao
3f50451046
fs/vfs/fs_fcntl.c, net/socket/net_dupsd.c, and net/socket/net_vfcntl.c: Add file_fcntl, psock_fcntl, and psock_dupsd for use within the kernel.
2018-08-26 13:31:18 -06:00
ligd
aa52c457cc
fs/vfs/fs_fstat.c: Add file_fstat() function for internal OS use.
2018-08-26 13:26:37 -06:00
anchao
6361f93fda
fs/vfs/fs_select.c: Make select be more consistent with Linux man page: 'The timeout
...
... Some code calls select() with all three sets empty, nfds zero, and a non-NULL timeout as a fairly portable way to sleep with subsecond precision.'
2018-08-26 13:19:28 -06:00
Xiang Xiao
3be976fd34
fs/mount/mount.h: Fix warning, 'No newline at end of file'
2018-08-26 13:13:11 -06:00
zhangyuan7
37b9bbbdef
fs/nfs: Update nfs mount to VER3
2018-08-26 13:11:24 -06:00
anchao
18e5e75008
fs/romfs/fs_romfsutil.c: Make romfs_devread32 more portable
2018-08-26 13:03:01 -06:00
ligd
a0f7d7d014
fs/hostfs/hostfs.c: Add re-try when hostfs mount() fails
2018-08-26 12:22:08 -06:00
Xiang Xiao
3616a0fd06
fs/hostfs/hostfs.c: Ensure f_type is equal to HOSTFS_MAGIC.
2018-08-26 12:13:58 -06:00
ligd
8c4cf3f2c9
fs/hostfs/hostfs.c: Support remote directory names without a trailing '/'
2018-08-26 12:12:16 -06:00
Xiang Xiao
be542d530a
fs/hostfs/Kconfig: Remove ARCH_SIM dependence since other architectures (e.g., arm semihosting) could support hostfs too
2018-08-26 12:10:54 -06:00
Xiang Xiao
c43b3e5a34
fs/hostfs: Add ftruncate support.
2018-08-22 06:08:34 -06:00
anchao
9bbacc44ff
fs/hostfs: Add support for open() append mode
2018-08-22 06:05:45 -06:00
Gregory Nutt
0334b4dcc1
fs/procfs: Add a configuration option to disable environment variable info.
2018-08-19 06:36:23 -06:00
Gregory Nutt
f980200ac4
fs/procfs/: Add support for /proc, a convenient way for getting information about the currently running task.
2018-08-18 18:00:23 -06:00
Gregory Nutt
8c61c2f31b
Remove trailing spaces at the end of lines.
2018-08-13 07:39:38 -06:00
Gregory Nutt
25fa50d504
fs/proc and sched/environ: Add support for a procfs entry that will permit examining the environment of any task.
2018-08-10 10:16:39 -06:00
Gregory Nutt
a704344595
fs/tmpfs/fs_tmpfs.c: Correct logic in tmpfs_ioctl() that extracts the priv state structure from the file system structures. It was not getting the right value and causing mmap() to fail. Noted by Jesse.
2018-07-24 06:00:40 -06:00
Gregory Nutt
d77df925a3
Trivial FATFS cleanup
...
Squashed commit of the following:
fs/fat/fs_fat32util.c: Most costmetic naming MBR to FBR in numerous locations. Change some ferr macros to fwarn. Use FBR macros insteac of MBR macros.
Add definitions for the FAT boot record (FBR).
fs/fat: Clean up some name BS_ and MBR_ refer to the same record and should use the same naming (MBR_).
2018-07-22 08:42:15 -06:00
Gregory Nutt
859d032938
This commit adds support for the MAX3421E to the viewtool-stm32107 board support
...
Squashed commit of the following:
configs/viewtool-stm32f107: Clean up some compilation errors. Now all builds correctly and is ready for test.
arch/arm/src/stm32: Do not condition building STM32 USB host logic on CONFIG_USBHOST. That then precludes building STM32 platforms with external USB host chips like the MAX3421E. Add an new, STM32-internal variable CONFIG_STM32_USBHOST that does the same job without such side-effects.
configs/viewtool-stm32f107: Add support for MAX3421E USB host.
2018-07-13 10:45:08 -06:00
Alan Carvalho de Assis
283b73edc5
Fix lots of typos in C comments and Kconfig help text
2018-07-08 18:24:45 -06:00
Jussi Kivilinna
214e9d923e
Commit 0c963449d6
, 'fs/vfs: Added support for checking if a descriptor is a socket in fstat().', changed sys/stat.h in way that breaks smartfs file-type stat flags. CROMFS is similarly broken, as tools/gencromfs.c was not updated to match the sys/stat.h changes. This commit fixes both issues. It probably is not a good idea to use NuttX sys/stat.h bit-field values directly in stored structure of filesystem.
2018-06-28 07:40:35 -06:00
Gregory Nutt
dfd2d218e3
fs/mount/fs_automount.c: Ignore return values from work_cancel().
2018-06-27 06:30:05 -06:00
Gregory Nutt
8e6afb958a
net/udp: If the interface index of the device bound to a UDP socket is no longer valid because the device has been unregistered, then un-bind the UDP socket.
2018-06-26 06:53:13 -06:00
Dmitriy Linikov
10903b5b2e
fs/smartfs: Fixed filesystem corruption when writing to small file after open(... O_APPEND)
2018-06-20 16:36:38 -06:00
Gregory Nutt
8fdbb1e0a4
Elimate use of the non-standard type systime_t and replace it the equivalent, standard type clock_t
...
Squashed commit of the following:
sched: Rename all use of system_t to clock_t.
syscall: Rename all use of system_t to clock_t.
net: Rename all use of system_t to clock_t.
libs: Rename all use of system_t to clock_t.
fs: Rename all use of system_t to clock_t.
drivers: Rename all use of system_t to clock_t.
arch: Rename all use of system_t to clock_t.
include: Remove definition of systime_t; rename all use of system_t to clock_t.
2018-06-16 12:16:13 -06:00
Boris Astardzhiev
ae6b80f8b6
fs/fat: Avoid caculating the bogus directory entry address for the FAT root directory (since it has no directory entry). This change should have no effect, other than making the logic clearer.
2018-05-24 06:18:15 -06:00
Gregory Nutt
b3f20f8c5b
fs/fat: In fs_stat(), when stat'ing the root directory, avoid calculating the address of the root directory entry. The calculation is bogus (but not harmful) because the root directory does not have a directory entry. Noted by Boris Astardzhiev.
2018-05-23 08:14:22 -06:00
Michael Jung
800da58e6c
fs/nfs/rpc_clnt.c: Commit 091e3f7
broke the NFS client. sendto() can (correctly) no lnoger by used with a connected UDP socket. In that case, send() must be used instead.
2018-05-02 13:53:51 -06:00
Gregory Nutt
f5d0fc7447
fs/vfs and net/udp: Repartition logic of commit 0c963449d6
, moving into net/udp. Add support to handle connected UDP sockets. The correct 'optimal blksize' to return is the MSS. The MTU is always too big.
2018-04-27 08:36:25 -06:00
Pelle Windestam
0c963449d6
fs/vfs: Added support for checking if a descriptor is a socket in fstat().
2018-04-26 06:49:13 -06:00
Michał Łyszczek
94b4a86aa6
fs/vfs: Fix negative errno set in fs_open.c
2018-04-20 17:05:42 -06:00
Michał Łyszczek
8de51543a4
Fix a few compilation errors.
2018-04-20 15:55:16 -06:00
Michał Łyszczek
1d8fd9e034
fs/mount: Fix wrong size reported by df -h. Reason is that size in bytes is calculated always on uint32_t types and cards bigger than 4GB will overflow uint32_t type. Solution is to use uint64_t where possible.
2018-04-14 15:15:59 -06:00
Michał Łyszczek
ee6264df4e
fs/smartfs: Fix a hardfault in SmartFS. Problem occurred when opening a file with O_CREAT (only) when the file arelready exists but has a size of zero.
2018-04-14 06:44:38 -06:00
Gregory Nutt
db3b507a41
tools/gencromfs.c: Was duplicating all mode bits in source directory in CROMFS directory. Some make no sense. In particular, all write-able bits are cleard unconditionally. Executable bits are still copying because there is really no way for the tool to know if the file is executable or not.
2018-03-24 15:05:22 -06:00
Gregory Nutt
67e0603b5a
fs/cromfs: Block length only needs to be uint16_t, not uint32_t. Add pading to node structure to assue that alignment is the same on all platforms. tools/gencromfs.c: Fix the target offset of the '.' hard link.
2018-03-24 14:44:38 -06:00
Gregory Nutt
8b4b61f140
fs/cromfs: Fix a error in reading partial compressed blocks. The LZF decompressor does not support that operation. Instead we have to decompress full block into a temporary buffer and copy out the parts that we need. To compensate for the performance hit, a caching mechanism was added so that we do not have to read the same block repeatedly. Unrelated: Also updates some README files.
2018-03-24 11:30:35 -06:00
Gregory Nutt
012cd8a07a
fs/cromfs: Yet another update to the README file.
2018-03-22 13:35:27 -06:00
Gregory Nutt
1d72f7afea
fs/cromfs: Update README
2018-03-22 08:41:59 -06:00
Gregory Nutt
3b3ca1373c
fs/cromfs: Update README
2018-03-22 08:11:28 -06:00
Gregory Nutt
e6cecb5a58
fs/cromfs: Add a README file.
2018-03-22 07:44:37 -06:00
Gregory Nutt
3ec02adee0
tools/genromfs.c: Improve check for empty directories. If the directory contains only unsupported, special files, then it is still empty. Fix some collection of statistics that was cause statfs() to return some incorrect values. Add logic to handle the case where the host and the target differ in endian-ness. fs/procfs: In show mountpoints, add support so that the CROMFS file system type is recognized.
2018-03-21 08:40:02 -06:00
Gregory Nutt
448fc7a6f2
fs/cromfs: Remove CONFIG_EXPERIMINTAL dependency.
2018-03-20 20:04:29 -06:00
Gregory Nutt
f2b72c344b
fs/cromfs: Fix a loop condition that was causing errors on large files
2018-03-20 19:49:42 -06:00
Gregory Nutt
16d0a8c2d1
fs/cromfs: More directory traversal fixes. tools/gencromfs.c: Add ability use a callback with directory traversal. Not currently used but left in place in case it is needed in the future.
2018-03-20 16:20:31 -06:00
Gregory Nutt
aeeee54921
tools/gencromfs.c and fs/cromfs: More corrections to directory traversal logic. Still some bugs.
2018-03-20 14:30:05 -06:00
Gregory Nutt
22484386ee
fs/cromfs and tools/gencromfs: Various fixes for traversal relative file paths. Biggest changes is in types used: Cannot use size_t or mode_t in common structures because they have different sizes on the (64-bit) host and the (32-bit) target. Use uint32_t instead of size_t for offsets. Use uint16_t instead of mode_t.
2018-03-20 12:37:01 -06:00
Gregory Nutt
87fd4e2916
fs/cromfs: Fix read logic. tools/genromfs.c: Last node in directory needs to have zero for peer offset. Still some issues with empty directories.
2018-03-20 10:37:42 -06:00
Gregory Nutt
eec44d1f01
This commit adds tools/gencromfs.c, a tool that can be used to generate CROMFS file system images.
...
Squashed commit of the following:
tools/gencromfs.c: Seems basically functional but has not has not yet been integrated with CROMFS.
tools/gencromfs.c: Revist previous commit. Let's make no assumptions about the compatibility of the host system and NuttX.
tools/gencromfs.c: I think access mode bits are sufficiently standard that we can just copy them from the host. This is don't mostly to pick up the executable bits and other conbinations of bits without doing a bit-for-bit decode.
tools/gencromfs.c: Code complete but only partially functional.
tools/gencromfs.c: type definitions must precede data definitions
tools/gencromfs.c: Adds a little more logic to gencromfs tools. Still not complete but can traverse directories and generate directory and hard-link nodes.
tools/gencromfs.c: Beginning of a genromfs tool that will eventually be used for generation of CROMFS file system images.
2018-03-20 07:31:13 -06:00
Gregory Nutt
0478b5bce4
Addes CROMFS prototype. CROMFS is a commpressed, in-memory read-only file system based on LZF.
...
Squashed commit of the following:
fs/cromfs: Now depends on EXPERIMENTAL because it is not yet verified.
fs/cromfs: This commit brings the CROMFS file system to code complete. Still completely untested. Next steps: Need a tool to generate CROMFS file system images and a test case under apps/
fs/cromfs: Add logic to traverse the in-memory file system nodes.
fs/cromfs: Add initial support for an in-memory, compressed, read-only file system.
2018-03-19 07:08:40 -06:00
Dmitriy Linikov
f0ad45ee27
fs/mmap: Fixed compiler warning about access to uninitialized variable in rammap(...)
2018-03-15 14:44:34 -06:00
Gregory Nutt
b54ffe858a
Standardization of some function headers.
2018-03-13 09:52:27 -06:00
Gregory Nutt
b4f2b0dfc6
Remove all usage of printf() from the OS. That is not an acceptable context for the use of an application-oriented interface that depends on a task-specific file descriptor and C buffered I/O.
2018-03-03 15:20:21 -06:00
Dmitriy Linikov
a8c58607e9
Merged in hardlulz/modem-3.0-nuttx/fix-sem-EINTR (pull request #603 )
...
Added ECANCELED condition to DEBUGASSERT-s checking sem_wait result
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-02-20 18:24:53 +00:00
Gregory Nutt
885ab75045
drivers/lcd: Add support for creating display lists incrementally.
2018-02-17 14:48:18 -06:00
Gregory Nutt
1567b82429
Make sure that labeling is used consistently in all function headers (part 2).
2018-02-01 12:03:55 -06:00
Gregory Nutt
7cf88d7dbd
Make sure that labeling is used consistently in all function headers.
2018-02-01 10:00:02 -06:00
Gregory Nutt
da50646bcf
sched/wdog: wd_start() is an internal OS function and should not set the errno value. Reviewed and updated every call to wd_start() to verify if return value is used and if so if the errno value is accessed.
2018-01-31 10:09:14 -06:00
Gregory Nutt
a959d7fefa
fs/aio: Fix one additional place where the errno variable is being accessed inappropriately.
2018-01-31 09:19:19 -06:00
Gregory Nutt
170a50c690
Squashed commit of the following:
...
sched/sched: Correct some build issues introduced by last set of changes.
sched/sched: Add new internal OS function nxsched_setaffinity() that is identical to sched_isetaffinity() except that it does not modify the errno value. All usage of sched_setaffinity() within the OS is replaced with nxsched_setaffinity().
sched/sched: Internal functions sched_reprioritize() and sched_setpriority() no longer movidify the errno value. Also renamed to nxsched_reprioritize() and sched_setpriority().
sched/sched: Add new internal OS function nxsched_getscheduler() that is identical to sched_getscheduler() except that it does not modify the errno value. All usage of sched_getscheduler() within the OS is replaced with nxsched_getscheduler().
sched/sched: Add new internal OS function nxsched_setparam() that is identical to sched_setparam() except that it does not modify the errno value. All usage of sched_setparam() within the OS is replaced with nxsched_setparam().
sched/sched: Add new internal OS function nxsched_getparam() that is identical to sched_getparam() except that it does not modify the errno value (actually, the previous value erroneously neglected to set the errno value to begin with, but this fixes both issues). All usage of sched_getparam() within the OS is replaced with nxsched_getparam().
2018-01-30 11:08:18 -06:00
Juha Niskanen
83a87e08e8
fs/userfs: use correct req type in userfs_truncate, remove use of undeclared buf
2018-01-22 07:14:54 -06:00
DL
7d1f133774
Fixed misprint in smartfs_utils.c
2018-01-17 15:57:06 +03:00
Jussi Kivilinna
bb7703dc8c
fs/smartfs: Fix inverted ifdef for CONFIG_SMARTFS_USE_SECTOR_BUFFER in smartfs_extendfile()
2018-01-16 07:17:35 -06:00
Gregory Nutt
0080225473
sched/irq: Add a configuration option to show interrupt information via a procfs file.
2018-01-12 18:26:46 -06:00
Gregory Nutt
335d1e0030
fs/procfs: Fix an error in a common function that manages read data.
2018-01-12 18:26:45 -06:00
Gregory Nutt
ed18e427f3
Squashed commit of the following:
...
configs/flipnclick-sam3x: Add support for the 4 user-controllable LEDs on the board.
configs/flipnclick-sam3x: Add board support for the Mikroe Flip&Click SAM3X.
configs/arduino-due: Update this old configuration so that it is structured a little more like recent board support.
2018-01-06 17:06:50 -06:00
Gregory Nutt
0253c974b2
Squashed commit of the following:
...
fs/nxffs: Giving up on truncate() support in NXFFS for now. There is too much that has to be done to make that work.
configs/sim: Add support for testing NXFFS.
2018-01-06 13:32:32 -06:00
Gregory Nutt
17cedb6b20
Squashed commit of the following:
...
fs/smartfs: Add logic needed to ftruncate to shrink a file to any arbitrary size.
fs/smartfs: Repartition some functionality to better fit in new ftruncate features.
2018-01-06 10:43:18 -06:00
Aleksandr Vyhovanec
8b97ea95c7
Merged in AVyhovanec/nuttx (pull request #564 )
...
FAT. Effectively handles the situation when a new file position is within the current sector.
* Find begin of the next token
* EOL
* revert
* Accelerates the work of the FS with a multitude of operations to write small pieces of data within the current sector.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-01-05 20:52:53 +00:00
Gregory Nutt
49775ea801
fs/fat: Fix a bug in the FAT ftruncate logic.
2018-01-05 11:56:39 -06:00
Gregory Nutt
376e30dab4
net/route: Fix a couple of compile-related issues that have crept in sense the last time the file-based routing table was used.
2018-01-05 08:57:22 -06:00
Gregory Nutt
fb73006a4b
These changes implemnt FAT file shrinkage as needed to fully support ftruncate().
...
Squashed commit of the following:
fs/fat: Resolves issues with truncating the cluster chain when shrinking files via ftruncate().
fs/fat: First cut at implementation file shrinkage logic needed to support ftruncate(). Certainly shrinks the file size but it does not appear to correctly disconnect the cluster chains.
fs/fat: Restructure some functions in files to better support forthcoming file shrinkage logic. Put framework for file shrinkage in place. That logic is incomplete on initial commit.
2018-01-04 19:08:43 -06:00
Gregory Nutt
5d1a91fd8e
configs/lpcxpresso-lpc5428/fb: Should disable pixel depths that are not being used.
2018-01-04 16:40:31 -06:00
Gregory Nutt
42701f99fa
fs/nxffs: truncate method is implementated in a separate file and should have been in a previous commit.
2018-01-04 11:01:23 -06:00
Gregory Nutt
39fe6a0dff
Squashed commit of the following:
...
fs/nxffs: Add partial implementation of the truncate method: It extend files, but cannot yet shrink them.
fs/smartfs: Add partial implementation of the truncate method: It extend files, but cannot yet shrink them.
fs/fat: Add partial implementation of the truncate method: It extend files, but no yet shrink them.
fs/nfs: Add support for the truncate method to the NFS file system.
2018-01-04 10:54:54 -06:00
Gregory Nutt
e4652bd3dc
Squashed commit of the following:
...
fs: Add truncate() support for userfs
fs/unionfs: Add truncate() support to the unionfs
fs/tmpfs: Add ftruncate() support to tmpfs
syscall/: Add system call support for ftruncate()
net/route: Adding ftruncate() support eliminates an issue in file-based routing table management.
fs: Add basic framework to support truncate() and ftruncate(). The infrastructure is complete. Now, however, the actual implementation of ftruncate() will have to be done for each file system.
2018-01-03 16:03:56 -06:00
Michael Jung
d46a7beef9
fs/nfs/nfs_vfsops.c: Fix buffer corruption. In case multiple read requests to the NFS server are required to fill up the user provided buffer, nfs_read might write behind the end of said buffer. This is fixed with this change.
2017-12-28 06:31:49 -06:00
Gregory Nutt
91f48701ae
arch/arm/src/sam34: Fix some compile warnings that I introduced with a possibly overzealous recent change.
2017-12-17 17:43:20 -06:00
Gregory Nutt
8057af6724
fs/fat: Still trying to eliminate warnings in all configurations.
2017-12-17 17:10:37 -06:00
Gregory Nutt
cf8a7bebf6
Eliminate another warning.
2017-12-17 16:47:49 -06:00
Gregory Nutt
f96478bb99
fs/fat: Don't warn about the CONFIG_FAT_MAXFNAME being too large if long file name support is not implemented.
2017-12-17 16:41:26 -06:00
Michael Jung
223104a6b4
fs/nfs/nfs_vfsops.c: Correctly infer file type. The file type is in struct nfs_statinfo_s's ns_type field, not in the ns_mode field.
2017-12-17 06:43:30 -06:00
Gregory Nutt
9638f3f065
fs/fat: CONFIG_FAT_MAXFNAME may not exceed NAME_MAX (CONFIG_NAME_MAX)
2017-12-15 06:19:14 -06:00
Gregory Nutt
f068eb579c
fs/procfs: Correct ordering of procfs entries. For consistency, use alphbetical ordering.
2017-11-24 10:00:35 -06:00
Gregory Nutt
7fa2196f1e
procfs: Fix error in /proc/meminfo format statement introduced with recent commit.
2017-11-23 08:07:20 -06:00
Gregory Nutt
d720711807
fs/procfs: Add logic to show the state of the page allocator in /proc/meminfo.
2017-11-14 14:59:51 -06:00
Gregory Nutt
a6aa4ac5f5
fs/procfs: Optimization of previous commits. /proc/umm and proc/progmem are deleted. /proc/kmm is renamed /proc/meminfo and contains the output that was in all three files previously.
2017-11-13 13:33:12 -06:00
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
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
Gregory Nutt
e3ff0689bb
Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL
2014-08-29 14:47:22 -06:00
Gregory Nutt
220216cc38
nuttx/fs: Remove explicity references to errno. That is a problem from within the kernel for certain configurations
2014-08-28 16:58:43 -06:00
Gregory Nutt
ad9b3f8ab8
wdog.h does not contain any application interface, only internal OS interface. Further, it is non-standard. Move wdog.h from include/ to include/nuttx. For the same reason, move the description of the watchdog timer interfaces from the Users Guide to the Porting Guide.
2014-08-21 11:16:55 -06:00
Gregory Nutt
bb06d31038
Auto-mounter: Fix state setting. Not harmful other than it can cause a debug assertion to fire if you manually unmount the media before removing it which is, of course, what you are supposed to do.
2014-07-30 11:05:08 -06:00
Gregory Nutt
9c80dfb31c
Updated README file, cosmetic changes to comments and debug output
2014-07-30 10:19:09 -06:00
Gregory Nutt
a826adb679
The SAMA5D4-EK NSH and NxWM configurations now have the auto-mounter configured to automatically mount the FAT file system on HSMCI0 at /mnt/sdcard
2014-07-29 16:36:15 -06:00
Gregory Nutt
7b1b915226
SAMA5D4: Add auto-mounter support for HSMCI0
2014-07-29 15:34:31 -06:00
Gregory Nutt
31d21640af
Update the automounter so that it will handle the initial insertion state
2014-07-29 13:00:35 -06:00
Gregory Nutt
8e506be4dd
Add support for an automounter that will automatically mount and unmount a file system a media is inserted and removed
2014-07-29 12:50:08 -06:00