Need help with dd !!!

Partition backup image created as follows:

dd if=/dev/hda3 conv=sync,noerror bs=64K | gzip -c > nc6000_linux_system.img.gz

Trying to restore the partition from the image as follows:

gunzip -c nc6000_linux_system.img.gz | dd of=/dev/hda3 conv=sync,noerror bs=64K

The dd operation fails with the following message:

dd: writing '/dev/hda3': No space left on device
3673+348340 records in
352012+0 records out
23069491200 bytes (23 GB) copied, 713.275 s, 32.3 MB/s

Why is there no space left? I’m restoring the same partition, from which the image is made.
What am I doing wrong?
Can someone help me please? I do not understand if my partition image is faulty, or I do not know how to restore it.

Have a look a t this thread - it may help
Cloning an old drive to a new drive - openSUSE Forums

Thanks for the link. I’m not cloning my drive, but restoring a backup/image. I.e. my image is the same size as the partition.

Therefore, I’m confused about the message “No space left on device”.
However, it seems that the restore was successful, as my system boots normally.

On LinuxQuestions.org I got a following explanation:

Originally Posted by AwesomeMachine
In the command line to restore, dd is dependent on gunzip feeding it image data. Because of the sync parameter, dd pads the last block with zeroes to make it a full block. So dd keeps going after the image.gz file is written. No space left on device is not an error. Many uses of dd require the device to run out of space. It’s not a problem. But the sync conversion is helpful for the method of backup you are using (gzip).

The original thread that discusses dd usage can be found here: Learn The DD Command Revised