Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve interaction with transfers >4GB files to a vfat filesystem #935

Open
jose1711 opened this issue Sep 3, 2023 · 2 comments
Open

Comments

@jose1711
Copy link

jose1711 commented Sep 3, 2023

Dealing with slow, FAT-formatted USB drives can be particularly frustrating when, after enduring several minutes of waiting, one encounters a "Write to destination file failed" error for files larger than 4 GB. There are circumstances when a partially transferred file is acceptable or even desirable but many times this is not the case.
To improve the user experience vifm could give a list of option before the transfer is initiated:

  • accept this partial transfer (only shown for copy operation)
  • accept this and all following partial transfers (only shown for copy operation)
  • skip this file transfer (i. e. do not transfer the file)
  • skip this and all following files >4 GB
  • split the file by means of split utility
  • abort the whole operation
@xaizek
Copy link
Member

xaizek commented Sep 3, 2023

Was worried that there is no way to know maximum file size, but getconf FILESIZEBITS . does that more or less accurately.

With the exception of split it can work when 'syscalls' is set. When 'syscalls' is unset, cp might be used for copying files recursively and thus size handling won't be available even for copying individual files for consistency.

However, there are file-systems with copy-on-write and moving across file-systems is generally copy followed by a remove (not sure about moving between BTRFS subvolumes), this can make it more complicated.

@jose1711
Copy link
Author

jose1711 commented Sep 5, 2023

However, there are file-systems with copy-on-write and moving across file-systems is generally copy followed by a remove (not sure about moving between BTRFS subvolumes), this can make it more complicated.

That is the very reason why I mentioned vfat specifically. For me this would cover 100 % of issues of type "d'oh - should've checked the filesize first" (btw BTRFS limit of file size is 16 EiB).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants