FTP server returns invalid file info for selected directory

cancel
Showing results for 
Search instead for 
Did you mean: 

FTP server returns invalid file info for selected directory

383 Views
MattJCole
Contributor III

 

What I am using

  • Using KSDK 1.3
  • MFS library for the file system
  • RTCS library for the FTP server

For some reason once I put more than 2GB of data in the Data folder the selected folder after 2GB returns invalid info about the files is in the folder. Each of the folder contain the same amount of data (1.09 GB) and the same exact files. Does anyone know what I need to do to fix this?

 

Correct

MattJCole_0-1622745699682.png

Incorrect

MattJCole_1-1622745699754.png

 

0 Kudos
8 Replies

259 Views
MattJCole
Contributor III

So no more help with fixing your MFS file system library?

0 Kudos

311 Views
MattJCole
Contributor III

I do not think what you sent me is going to work. The RTOS is heavily dependent on an int for the file not MQX_FILE_PTR. The only way I can see this working is if I change the all of the libraries I use. Do you have a version of the MFS file system that uses an int for the file that do not have the bug that prevents the use of SD cards larger then 2 GB 

 

 

from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:239:21: error: conflicting types for '_io_get_fs_by_name'
extern MQX_FILE_PTR _io_get_fs_by_name(char *fs_name);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:52:5: note: previous declaration of '_io_get_fs_by_name' was here
int _io_get_fs_by_name(char *fs_name);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:240:21: error: conflicting types for '_io_get_fs_name'
extern int32_t _io_get_fs_name(MQX_FILE_PTR fs_ptr, char *fs_name, int32_t fs_name_len);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:53:5: note: previous declaration of '_io_get_fs_name' was here
int _io_get_fs_name(int fd, char *fs_name, int32_t fs_name_len);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:241:21: error: conflicting types for '_io_is_fs_valid'
extern bool _io_is_fs_valid(MQX_FILE_PTR fs_ptr);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:54:5: note: previous declaration of '_io_is_fs_valid' was here
int _io_is_fs_valid(int fd);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:243:21: error: conflicting types for '_io_unregister_file_system'
extern uint32_t _io_unregister_file_system(MQX_FILE_PTR fd_ptr);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:57:10: note: previous declaration of '_io_unregister_file_system' was here
uint32_t _io_unregister_file_system(int fd);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:244:21: error: conflicting types for '_io_register_file_system'
extern uint32_t _io_register_file_system(MQX_FILE_PTR fd_ptr,char *name_ptr);
^
In file included from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:38:0:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\nio\fs\fs_supp.h:56:10: note: previous declaration of '_io_register_file_system' was here
uint32_t _io_register_file_system(int fd, char *name_ptr);
^
In file included from c:\freescale\ksdk_1.3.0\middleware\filesystem\mfs\source\include\mfs.h:39:0,
from C:/Freescale/KSDK_1.3.0/rtos/mqx/nshell/source/mfs/sh_cache.c:41:
c:\freescale\ksdk_1.3.0\rtos\mqx\mqx\source\include\fio.h:255:16: fatal error: io.h: No such

0 Kudos

318 Views
MattJCole
Contributor III

I added the file. Do I need to add a define anywhere? Is so what and where do I add it.

0 Kudos

334 Views
MattJCole
Contributor III

I get a compiler error. It doesn't know what MQX_FILE_PTR is. What is MQX_FILE_PTR?

0 Kudos

325 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi @MattJCole 

 

Please refer to my attached fio.h

Location is mqx/source/include  in MQX 4.2

 

Regards

Daniel

0 Kudos

370 Views
MattJCole
Contributor III

That is a  no go. The files you sent me match the files. I think you didn't send me the files that fixed the problem. I believe you are correct that it is a MFS file system issue. The MFS file system code is using 32 bits for the address instead of 64 bits. Can you send me the code in mfs\source\generic and mfs\include. I will merge what I need. 

0 Kudos

355 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi @MattJCole :

 

attached source code is from MQX 4.2.0.   (same with KSDK1.3)

 the code I attached in last post is based on this version (MQX 4.2.0).

 

Regards

Daniel

0 Kudos

373 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi  @MattJCole :

 

This seems a MFS file system issue.

Could you please merge my attached source code and try it again?

 

Regards

Daniel

0 Kudos