From 14bcbcb07eccccb166d084c873653f16ae27ae66 Mon Sep 17 00:00:00 2001 From: Julio Lopez <1953782+julio-lopez@users.noreply.github.com> Date: Thu, 1 May 2025 15:37:22 -0700 Subject: [PATCH] fix(cli): add flag for rclone's startup timeout (#4543) - add flag for rclone startup timeout - rename const --- cli/storage_rclone.go | 1 + repo/blob/rclone/rclone_storage.go | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cli/storage_rclone.go b/cli/storage_rclone.go index 29975004f..b289825cf 100644 --- a/cli/storage_rclone.go +++ b/cli/storage_rclone.go @@ -28,6 +28,7 @@ func (c *storageRcloneFlags) Setup(_ StorageProviderServices, cmd *kingpin.CmdCl cmd.Flag("rclone-nowait-for-transfers", "Don't wait for transfers when closing storage").Hidden().BoolVar(&c.opt.NoWaitForTransfers) cmd.Flag("list-parallelism", "Set list parallelism").Hidden().IntVar(&c.opt.ListParallelism) cmd.Flag("atomic-writes", "Assume provider writes are atomic").Default("true").BoolVar(&c.opt.AtomicWrites) + cmd.Flag("rclone-startup-timeout", "Time in seconds to wait for rclone to start").Default("15s").DurationVar(&c.opt.StartupTimeout.Duration) commonThrottlingFlags(cmd, &c.opt.Limits) } diff --git a/repo/blob/rclone/rclone_storage.go b/repo/blob/rclone/rclone_storage.go index e20350755..def876aa8 100644 --- a/repo/blob/rclone/rclone_storage.go +++ b/repo/blob/rclone/rclone_storage.go @@ -31,8 +31,8 @@ defaultRCloneExe = "rclone" - // rcloneStartupTimeout is the time we wait for rclone to print the https address it's serving at. - rcloneStartupTimeout = 15 * time.Second + // defaultRcloneStartupTimeout is the time we wait for rclone to print the https address it's serving at. + defaultRcloneStartupTimeout = 15 * time.Second ) var log = logging.Module("rclone") @@ -345,7 +345,7 @@ func New(ctx context.Context, opt *Options, isCreate bool) (blob.Storage, error) // https://github.com/kopia/kopia/issues/1934 osexec.DisableInterruptSignal(r.cmd) - startupTimeout := rcloneStartupTimeout + startupTimeout := defaultRcloneStartupTimeout if opt.StartupTimeout.Duration != 0 { startupTimeout = opt.StartupTimeout.Duration }