To pass that parameter means that the buffer size is now needed.  We should have a constant DEFAULT_COPY_BLOCKSIZE (or something nicer) which is used here, and for the default parameters of the function definitions, rather than having the literals scattered through the code.