hi guys , I’m new to truenas scale and previously using OMV.
After installing FileBrowser app when moving files from one folder to the other internally it seems very slow, when previously using OMV and Doublecommander file browser app it could move very large file instantly. Am i doing something wrong? did i miss something ? if i use smb to move between internal folders instead is very quick in conpare… thanx
If you’re moving within the same dataset, moves are instant.
If you’re moving from one filesystem/dataset to another, the file has to be copied and is slower.
The “App” might not leverage block-cloning.
Can you share more pool and system information?
Are the folders within a dataset/SMB share setup as hostpath additional storage in Filebrowser?
If I were to hazard a guess it’s probably using the wrong OS APIs to move around files. Yeah, it looks like it’s just copying from one fd to another in userspace which means it’s inefficient and won’t block clone (it needs to use the zero-copy APIs).
Try moving files within the same dataset—it should be instant. If across datasets, it’ll be slower.
im moving between folders in the same dataset …
moving a 20gb files takes around 5 minutes.
sorry I’m new to truenas/linux…just learning . i have installed double commander file browser and getting same low speeds, 20 gb file between folders in same dataset takes about 5 minutes.
can you simplify your comments please like i said im learning.
dataset photos of where folders are .
thanx
This isn’t a dataset configuration issue. Usually when people report these sorts of problems with an app, it’s because the app’s developer made a not-great choice about how to copy files (you’d think for a file management app this would be a high priority - but you’d be surprised how often this comes up).
The reason this happens is that some programming languages present a generic copy function to copy A → B, but it’s not aware of the best way to do this on the particular operating system. It works, but can be much slower than if they did it the right way. Most languages have a separate OS-specific API that the developer can use that allows for fast copies (zero-copy), but it requires the developer be aware of it and willing to use it.
From an end-user perspective this means you either:
- shop around until you find something that works right
- accept slow copies.