Ivan Grokhotkov
23e1ae1bc2
storage: fix and re-enable -Wformat warnings
2022-10-06 16:16:32 +02:00
John
aaf35889b6
Change placeholder in ESP_LOGD conditionally depending on FF_FS_EXFAT
...
In case of using EXFAT by setting in ffconf.h:
the type FSIZE_t is changing from 4 to 8 bytes.
As a result, ESP_LOGD() in vfs_fat_lseek() does not compile:
error: format '%d' expects argument of type 'int', but argument 8 has type 'FSIZE_t' {aka 'long long unsigned int'} [-Werror=format=]
ESP_LOGD(TAG, "%s: offset=%ld, filesize:=%d", __func__, new_pos, f_size(file));
To solve the problem we need to change %d with %lld conditionally, depending on FF_FS_EXFAT.
Closes https://github.com/espressif/esp-idf/pull/9361
2022-07-22 16:52:14 +01:00
Adam Múdry
0fac7d1c02
fatfs: Fix undefined ssize member of FATFS struct
2022-06-27 08:57:58 +00:00
Martin Vychodil
7f884dc966
Merge branch 'fix/ff_sdmmc_status_check_optional' into 'master'
...
fatfs: Add option to mock ff_sdmmc_status output to increase IO speed
Closes IDF-4788
See merge request espressif/esp-idf!18300
2022-06-13 14:42:12 +08:00
Matus Fabo
384d61f156
remove: sdspi_host deprecated api
...
add: migration guide documentation
2022-06-12 20:07:27 +00:00
Adam Múdry
8af790da45
fatfs: Add mock option to ff_sdmmc_status function to increase IO speed
...
Adds `disk_status_check_enable` field to `esp_vfs_fat_mount_config_t` struct to control if ff_sdmmc_status is mocked or not.
2022-06-09 20:09:32 +00:00
Ivan Grokhotkov
39238f51ce
fatfs: fix incorrect mtime returned for files created during DST
...
mktime function uses tm_isdst member as an indicator whether the time
stamp is expected to be in daylight saving time (1) or not (0).
FAT filesystem uses local time as mtime, so no information about DST
is available from the filesystem.
According to mktime documentation, tm_isdst can be set to -1, in which
case the C library will try to determine if DST was or wasn't in
effect at that time, and will set UTC time accordingly.
Note that the conversion from UTC to local time and then back to UTC
(time_t -> localtime_r -> FAT timestamp -> mktime -> time_t) does not
always recover the same UTC time. In particular, the local time in the
hour before DST comes into effect can be interpreted as "before DST"
or "after DST", which would correspond to different UTC values. In
this case which option the C library chooses is undefined.
Closes https://github.com/espressif/esp-idf/issues/9039
Originally reported in https://github.com/espressif/arduino-esp32/issues/6786
2022-06-09 19:50:00 +00:00
Adam Múdry
2565acbc28
fatfs: Fix possible integer overflow in esp_vfs_fat_info()
2022-05-20 14:51:11 +02:00
Adam Múdry
22b46580f8
fatfs: add esp_vfs_fat_info() + unit tests
2022-04-15 20:49:53 +02:00
Matus Fabo
24268d47a2
change: renamed FATFS convenience mounting functions
...
change: renamed every instance of these functions
add: deprecation notice with old functions
change: CC0 licence to CC0-1.0 in fatfsgen_example_main.c
2022-04-11 08:44:40 +00:00
Vamshi Gajjela
66561f838d
vfs: bugfix vfs_fat_write/pwrite upon disk-full
...
Closes https://github.com/espressif/esp-idf/issues/5027
2022-03-21 17:28:46 +00:00
Vamshi Gajjela
ea9f7cc370
fatfs: Add ftruncate api support for VFS and FAT-VFS
...
Unit test cases added to verify ftruncate within fatfs tests.
Closes https://github.com/espressif/esp-idf/issues/8279
2022-03-08 16:58:25 +05:30
Adam Múdry
bb8587a139
fatfs: Update to version 0.14b
...
Updated FATFS to 0.14b from 0.13c and patched for ESP32
2022-02-21 14:54:55 +01:00
hörbert
ed2a21e1c7
Don't return a hard coded errno in vfs_fat_access
...
Why should the return value of vfs_fat_access be hard coded as ENOENT?
This hides errors like FR_DISK_ERR of the lower layers.
2021-12-08 11:43:18 +01:00
Omar Chebib
63b96d7612
FAT: Number of volumes can now be configured through menuconfig
...
Closes https://github.com/espressif/esp-idf/issues/7513
2021-10-19 12:15:31 +08:00
aditi_lonkar
6e7780421b
fatfs: Fix some memory leak issues by coverity static analyzer.
2021-01-25 03:37:47 +00:00
morris
e9c131e174
fatfs: return EINVAL if truncate length is less than 0
2021-01-13 19:11:48 +08:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
Ivan Grokhotkov
b1c4107275
vfs: zero-initialize struct stat in *_stat and *_fstat handlers
...
...otherwise some fields will contain garbage values.
This wasn't noticed until HAVE_BLKSIZE got enabled in newlib builds.
2020-12-29 16:18:04 +01:00
Angus Gratton
8fa2cf464a
fatfs: Whitespace cleanup
2020-12-24 13:40:01 +11:00
Angus Gratton
6ce34a227e
Merge branch 'feature/fatfs_fast_seek' into 'master'
...
feature/fatfs: enable the usage of fast-seek algorithm
See merge request espressif/esp-idf!9916
2020-11-17 07:17:31 +08:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Felipe Neves
93ffc009ef
vfs: restrict the fast seek for read-only files
...
Since the files under fast-seek cannot be expanded with further writes, it does not
make sense to enable fast-seek which may fail in write-mode files
2020-11-05 17:01:50 -03:00
Felipe Neves
32e760adfb
fat_vfs: added fast seek capable file operation
2020-11-05 17:01:50 -03:00
Michael (XIAO Xufeng)
1966f00f0b
soc: updates caps usage
...
We should define caps as 1 if true. When use the caps macros, #if and
#if ! should be used instead of #ifdef/#ifndef.
2020-10-17 16:10:17 +08:00
Ivan Grokhotkov
8a47f43cef
fatfs: handle CONFIG_VFS_FAT_SUPPORT_DIR
2020-03-20 14:03:45 +01:00
Michael (XIAO Xufeng)
067f3d21c9
sdspi, vfs_fat: allow sharing SPI bus among devices, and mounting multiple SD cards
2020-02-12 15:16:08 +08:00
Angus Gratton
ee269ed687
Merge branch 'bugfix/fatfs_corrupted_assert' into 'master'
...
fatfs: handle FR_INT_ERR as "filesystem corrupted"
Closes IDF-894
See merge request espressif/esp-idf!5912
2020-01-14 08:37:07 +08:00
Angus Gratton
8675a818f9
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-22 13:51:49 +11:00
Roland Dobai
19c644f7fd
Fix memory leak upon failure of esp_vfs_fat_sdmmc_mount()
...
Closes https://github.com/espressif/esp-idf/issues/4165
2019-10-10 14:28:43 +00:00
Angus Gratton
adfc06a530
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-20 10:28:37 +10:00
Angus Gratton
fb748bae7f
fatfs: Remove esp_vfs_fat_unregister()
...
Deprecated in ESP-IDF V2.0
2019-09-13 09:44:07 +10:00
Michael (XIAO Xufeng)
3b39e60f97
driver: remove unused drivers for esp32s2beta
2019-09-04 10:53:25 +10:00
Ivan Grokhotkov
1b24b3663e
fatfs: handle FR_INT_ERR as "filesystem corrupted"
...
FatFS library can sometimes return FR_INT_ERR if the filesystem is
corrupted. Propagate the error from VFS functions instead of
asserting, so that the application can handle the error. Also handle
the error during initialization of FatFS and format the filesystem if
it occurs.
2019-08-27 00:11:45 +02:00
Anton Maklakov
75c0066f93
Fix remaining -Wstrict-prototypes warnings
2019-08-01 16:28:56 +07:00
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
Roland Dobai
41062bea99
VFS: Implement pread() and pwrite()
...
Closes https://github.com/espressif/esp-idf/issues/3515
2019-07-11 06:20:21 +00:00
Ivan Grokhotkov
66bdeca603
fatfs: update diskio and vfs for FatFS changes
...
- do to not rely on integer.h types
- ffsystem.c does not define ff_memcalloc, replace with ff_memalloc +
memset.
2019-06-25 23:05:16 +08:00
Ivan Grokhotkov
e181a40c9f
fatfs: separate IDF-specific files from the original FatFS code
...
This is a breaking change: applications which used diskio.h to
call ff_diskio_register, will now need to include diskio_impl.h.
Including diskio.h will include the original diskio.h header from
FatFS library.
2019-06-25 23:05:16 +08:00