Skip to content

FileLu: Update code to support multipart upload and performance improvements.#9108

Merged
ncw merged 4 commits intorclone:masterfrom
kingston125:master
Feb 5, 2026
Merged

FileLu: Update code to support multipart upload and performance improvements.#9108
ncw merged 4 commits intorclone:masterfrom
kingston125:master

Conversation

@kingston125
Copy link
Contributor

What is the purpose of this change?

Adds support for uploading large files using multipart uploads and performance improvements.

Was the change discussed in an issue or in the forum before?

No

Checklist

  • I have read the contribution guidelines.
  • I have added tests for all changes in this PR if appropriate.
  • I have added documentation for the changes if appropriate.
  • All commit messages are in house style.
  • I'm done, this Pull Request is ready for review :-)

@fcc48
Copy link

fcc48 commented Jan 31, 2026

i hope this fix get included next time so i do not need to compile rclone manually ;)

Copy link
Member

@ncw ncw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @kingston125 sorry for the delay in looking at this.

I put some things to look at inline.

Do the integration tests pass properly with this change?

Can you reorganize this into two commits only please

  • First your performance improvements in Update
  • Second your multipart upload code

Thanks

Nick

var result MultipartInitResponse

err := f.pacer.Call(func() (bool, error) {
req, err := http.NewRequestWithContext(ctx, "GET", apiURL, nil)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why you aren't using lib/rest here?

In fact you don't appear to be using it anywhere in the backend :-(

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have done this, and I can update other functions to use lib/rest if required. Maybe in another pull request?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we can get the whole backend using lib/rest then the code will be shorter and it will be easier to maintain. lib/rest has a few extra rclone special features in too.

So if you have the time to rework it to use lib/rest in a new PR that would be great.

@kingston125
Copy link
Contributor Author

kingston125 commented Feb 4, 2026

Hi @ncw

I have fixed and updated the code. Please let me know if I’ve missed anything, and I will do my best to resolve it. Your detailed comments are very helpful and have helped me a lot in navigating and fixing the issue.
I also ran go test -v -run 'TestIntegration' ./backend/filelu, and it passed.

Thank you.

@kingston125 kingston125 reopened this Feb 4, 2026
Copy link
Member

@ncw ncw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @kingston125 that is great. 4 nice easy to read commits :-)

I've just reworded the commits so they start with filelu: and I've also made each commit compile in sequence which involved a small amount of re-arrangement.

I'll just let the CI complete then I'll merge.

Thank you

@ncw ncw merged commit eef0b39 into rclone:master Feb 5, 2026
9 checks passed
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.

3 participants