Commit Graph

58 Commits

Author SHA1 Message Date
Jiuzhu Dong
90db4daca9 fs/directory: update readdir interface for all filesystem
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-09 23:30:01 +08:00
SPRESENSE
fa1fad50b9 fs/fat: Fix a bug that long file name cannot be found
The field of first cluster under LFN directory entry must be 0x0000. If
it is set a value other than 0, it causes a problem where the long file
name entry cannot be found on a Windows PC and the short file name is
always used. In addition, correct the macro error in big endian.
2022-06-30 15:35:57 +08:00
Masayuki Ishikawa
a8d446851c fs: fat: Use uint16_t instead of wchar_t
Summary:
- Due to the recent changes of wchar_t, ls command always
  causes errors for the fat file system.
- This commit fixes this issue by replacing wchar_t with
  uint16_t under fs/fat

Impact:
- None

Testing:
- Tested with spresense:wifi and stm32f4discovery:wifi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-12-09 21:29:29 -06:00
Masayuki Ishikawa
cfd1c28606 fs, include: Use fsblkcnt_t and fsfilcnt_t instead of off_t
Summary:
- On Linux, fsblkcnt_t and fsfilcnt_t are used in struct statfs
- This commit applies the same logic

Impact:
- None

Testing:
- Tested with spresense:rndis_smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-07-19 04:26:44 -07:00
GAEHWILER Reto
fc55f25fff Fix calculation of free clusters at mounting a fat partition
Previously the value of the FSInfo section was taken as granted.
As described in the white paper of FAT [1] this value is unreliable
and has to be computed at mount time.

    [1] https://www.win.tue.nl/~aeb/linux/fs/fat/fatgen103.pdf
2021-05-21 09:54:30 -03:00
Gustavo Henrique Nihei
76acb32e29 Fix typos reported by codespell 2021-02-25 11:31:49 -08:00
Juha Niskanen
cd41ed9b6d fs: fully parenthesize MIN and MAX macros
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-12-08 12:58:40 -06:00
Johannes Schock
070f4ed7e9 FAT Filesystem: UTF8 support for long filenames, bugfixes.
New CONFIG_FAT_LFN_UTF8: UTF8 strings are converted to UCS2-LFN
Bugfix in fat_createalias: space is now also converted to underbar.
Change (bugfix) in fat_getlfname: init characters (0xff) and '\0' are rewound as well.
2020-07-31 18:01:02 -03:00
Gregory Nutt
0f7c2d6fbf fs/fat: Run all .c and .h files through nxstyle
Run all .c and .h files through nxstyle and correct all reported issues.
2020-05-31 12:43:55 -04:00
Ouss4
ba8bc4c80c fs/: Check return of nxsem_wait_uninterruptible. 2020-03-30 08:08:07 -06:00
Xiang Xiao
cde88cabcc Run codespell -w with the latest dictonary again
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-02-23 22:27:46 +01:00
Xiang Xiao
5c80b94820 Replace #include <semaphore.h> to #include <nuttx/semaphore.h>
Since the kernel side should call nxsem_xxx instead and remove the unused inclusion
2020-02-01 08:27:30 -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
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
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
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
658272bbbf FAT: Fix some duplicate definition warnings when big-endian is enabled 2015-12-26 14:49:40 -06:00
Gregory Nutt
11afff74dc Kconfig change for improved usability 2015-11-29 12:13:24 -06:00
Gregory Nutt
cb9e27c3b0 Standardize naming used for public data and function groupings 2015-10-02 16:30:35 -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
d038133501 Rename fs/fs_internal.h to fs/fs.h 2014-09-28 09:13:56 -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
40e0253189 mkfatfs: Fix an error in logic that determines if FAT16 is possible 2013-12-05 18:17:22 -06:00
Gregory Nutt
bc46b447dc Fix all occurrences of "the the" in documentation and comments 2013-08-27 09:40:19 -06:00
patacongo
5a2eda210b Finish dup logic for open files; fix bug in sigtimedwait(), would return wrong signo value if the signal was already pending
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5517 42af7a65-404d-4744-a932-0658087f49c3
2013-01-14 19:22:32 +00:00
patacongo
a30e2f4a27 Add beginning of a simple granule allocator to support DMA IO buffer allocation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5129 42af7a65-404d-4744-a932-0658087f49c3
2012-09-11 18:22:27 +00:00
patacongo
870b6511ea Add support for DMA memory allocator to FAT file system
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5127 42af7a65-404d-4744-a932-0658087f49c3
2012-09-11 13:53:44 +00:00
patacongo
2fe4ad52f8 Move file-system header files to include/nuttx/fs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4499 42af7a65-404d-4744-a932-0658087f49c3
2012-03-21 18:01:07 +00:00
patacongo
39fd93278c PIC32 NSH configuration now builds without errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4220 42af7a65-404d-4744-a932-0658087f49c3
2011-12-23 00:58:00 +00:00
patacongo
0fe0a10e9f Add support for more FAT partitions; support for SD cards greater than 4Gb; TSC2007 touchscreen driver improvements
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4092 42af7a65-404d-4744-a932-0658087f49c3
2011-11-15 16:44:45 +00:00
patacongo
9e9cbc6b27 Add logic to assure that short FAT names are unique
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3796 42af7a65-404d-4744-a932-0658087f49c3
2011-07-18 18:28:02 +00:00
patacongo
4ffef26aa4 Changes to get clean FAT long file name compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3785 42af7a65-404d-4744-a932-0658087f49c3
2011-07-14 21:07:59 +00:00
patacongo
65d19ae3dc FAT long support is code complete (but untested)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3783 42af7a65-404d-4744-a932-0658087f49c3
2011-07-14 17:57:59 +00:00
patacongo
718738cb62 More FAT long file name logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3782 42af7a65-404d-4744-a932-0658087f49c3
2011-07-13 21:53:06 +00:00
patacongo
fb32eed2ee Add long file name parsing logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3781 42af7a65-404d-4744-a932-0658087f49c3
2011-07-13 17:19:31 +00:00
patacongo
95e415d274 Re-architect FAT data structures to support long file names
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3780 42af7a65-404d-4744-a932-0658087f49c3
2011-07-13 13:30:38 +00:00
patacongo
09c2e9b9e3 Separate FAT directory operations into a separate file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3777 42af7a65-404d-4744-a932-0658087f49c3
2011-07-12 22:38:21 +00:00
patacongo
5e370e1615 Add FAT long file name definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3776 42af7a65-404d-4744-a932-0658087f49c3
2011-07-12 19:19:40 +00:00
patacongo
62d94bb3d6 Add wchar_t type; Add LPC17xx CAN driver from Lzyy; Fix serial bug reported by Lzyy
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3775 42af7a65-404d-4744-a932-0658087f49c3
2011-07-12 16:36:45 +00:00
patacongo
d90cb60c0c AVR build warnings; minor USB fix
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3729 42af7a65-404d-4744-a932-0658087f49c3
2011-06-21 02:05:59 +00:00
patacongo
37b42d4259 Fix AVR warnings; FAT FS needs to use off_t instead of size_t
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3728 42af7a65-404d-4744-a932-0658087f49c3
2011-06-20 20:54:45 +00:00
patacongo
7b69f1af91 Re-organize header files so that file systems can be built outside of the nuttx tree; add a binfs file system to apps/namedapp
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3428 42af7a65-404d-4744-a932-0658087f49c3
2011-03-28 00:05:58 +00:00
patacongo
d67e9f0ad9 Switching to C99 stdint/stdbool.h types
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2341 42af7a65-404d-4744-a932-0658087f49c3
2009-12-15 00:18:32 +00:00
patacongo
601390e5d9 Fixes for correct compilation with ZDS-II
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1556 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 17:42:24 +00:00
patacongo
a11383a93f Fix access to aligned partition table values
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1046 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 19:12:33 +00:00
patacongo
469948a0b6 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@900 42af7a65-404d-4744-a932-0658087f49c3
2008-09-10 13:24:31 +00:00
patacongo
d57cb4fc90 Fix FAT seek bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@896 42af7a65-404d-4744-a932-0658087f49c3
2008-09-08 17:04:14 +00:00