diff --git a/fsspec/generic.py b/fsspec/generic.py index 18e27405a..869047746 100644 --- a/fsspec/generic.py +++ b/fsspec/generic.py @@ -280,9 +280,11 @@ async def _cp_file( if hasattr(fs2, "open_async") else fs2.open(url2, "wb", **kw) ) - while f1.size is None or f2.tell() < f1.size: + while await maybe_await(f1.size) is None or f2.tell() < await maybe_await( + f1.size + ): data = await maybe_await(f1.read(blocksize)) - if f1.size is None and not data: + if await maybe_await(f1.size) is None and not data: break await maybe_await(f2.write(data)) callback.absolute_update(f2.tell())