FTP server returns invalid file info for selected directory

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FTP server returns invalid file info for selected directory

1,602 Views
MattJCole
Contributor V

 

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

1,478 Views
MattJCole
Contributor V

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

0 Kudos

1,530 Views
MattJCole
Contributor V

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

1,537 Views
MattJCole
Contributor V

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

0 Kudos

1,553 Views
MattJCole
Contributor V

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

0 Kudos

1,543 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

1,588 Views
MattJCole
Contributor V

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

1,573 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

1,591 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