Skip to content

No early out when using --fast-list and --onedrive-delta? #9226

@chscott

Description

@chscott

The associated forum post URL from https://forum.rclone.org

N/A

What is the problem you are having with rclone?

We are trying to use --fast-list and --onedrive-delta to improve performance for large drives, and it works great in listing scenarios. However, during a copy, it seems like there is no early-out mechanism when OneDrive/SharePoint is the target but the source is quickly identified as not having anything to copy.

In the test case, there are almost two million folders and one million files in the target SharePoint document library and an empty Google Drive source. With both --fast-list and --onedrive-delta set, the entire SharePoint tree is read before rclone concludes nothing needs to be done since the source is empty. This process takes about an hour in my example. If I disable fast listing, there is only a single /children request to SharePoint before rclone bails out with nothing to do.

I am aware of the limitations with using the fast listing with OneDrive/SharePoint for data not at the root of the drive, but the rclone root is the drive root in this case.

Is it possible to detect this type of scenario and bail out early, without completing the delta listing?

What is your rclone version (output from rclone version)

rclone v1.70.0-beta.8738.339ada4f8.fix-8545-onedrive-consistency
- os/version: Microsoft Windows 11 Pro 25H2 25H2 (64 bit)
- os/kernel: 10.0.26200.7922 (x86_64)
- os/type: windows
- os/arch: amd64
- go/version: go1.24.3
- go/linking: static
- go/tags: cmount

Which OS you are using and how many bits (e.g. Windows 7, 64 bit)

Windows 11, 64 bit

Which cloud storage system are you using? (e.g. Google Drive)

Google Drive, Microsoft OneDrive/SharePoint

The command you were trying to run (e.g. rclone copy /tmp remote:tmp)

rclone copy Source: Target:

A log from the command with the -vv flag (e.g. output from rclone -vv copy /tmp remote:tmp)

I will send two logs to the Support email address. One when using fast list and one without.

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Support ContractIssues made for customers with support contracts

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions