Skip to content

file-operations: Pace copies to removable and network destinations - #3881

Open
mtwebster wants to merge 1 commit into
masterfrom
writeback-pacing
Open

mtwebster wants to merge 1 commit into
masterfrom
writeback-pacing

Conversation

@mtwebster

Copy link
Copy Markdown
Member

Copy progress to slow destinations tracked the page cache, not actual writes, so a job could sit near 100%, while writeback finished.

  • Sync the destination filesystem in windows sized to ~0.5s of measured throughput, from a helper thread, and once more before the job ends.
  • Applies to removable drives with a gvfs-visible mount, network filesystems, and FUSE mounts not backed by a block device.
  • Writeback errors stop the job and show an error dialog.
  • NEMO_DISABLE_WRITEBACK_PACING and NEMO_FORCE_WRITEBACK_PACING override the detection.

Approach based on KIO's windowed writeback:
https://invent.kde.org/frameworks/kio/-/commit/e94defc3e

Ref: #3677
Ref: #3710

Copy progress to slow destinations tracked the page cache, so a job
could sit near 100%, uncancellable, while writeback finished.

- Sync the destination filesystem in windows sized to ~0.5s of measured
  throughput, from a helper thread, and once more before the job ends.
- Applies to removable drives with a gvfs-visible mount, network
  filesystems, and FUSE mounts not backed by a block device.
- Writeback errors stop the job and show an error dialog.
- NEMO_DISABLE_WRITEBACK_PACING and NEMO_FORCE_WRITEBACK_PACING
  override the detection.

Approach based on KIO's windowed writeback:
https://invent.kde.org/frameworks/kio/-/commit/e94defc3e

Ref: #3677
Ref: #3710
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant