[linux-lvm] Confusing error: No space left on device

Jason Pyeron jpyeron at pdinc.us
Tue Feb 17 20:26:02 UTC 2015

> -----Original Message-----
> From: Stuart Gathman
> Sent: Tuesday, February 17, 2015 13:54
> On 02/17/2015 11:20 AM, Jason Pyeron wrote:
> > This is likely a problem between keyboard and chair, but it 
> has got me confused all the same.
> >
> > I was having issues with rsync, so I switched to dd and the 
> same problem persists.
> >
> > Any suggestions?
> >
> > History says "lvcreate --size 8589934592b --name 
> ciphershed-dmz-http vg_five66
> "No space left on device" is a filesystem error.   This happens to me 
> occasionally when the /dev/... path does not actually exist 
> for various 
> reasons, and the output is going into the root filesystem instead.

I knew the problem was between the keyboard and chair.

> In your case, the "varying reason" is rsync.  Rsync removes 
> /dev/vg_five66/ciphershed-dmz-http, and creates a regular 
> file - which 
> it proceeds to fill with data from your source lv until 
> running out of 
> space in your root fs.  When you removed and recreated the LV, this 
> removed the rsync handiwork and your subsequent dd worked again.  But 
> when you ran rsync again - bye bye link to LV device node.

I thought I was being smart: rsync --inplace --copy-devices --partial --compress --progress ...

Turns out I need: rsync --write-devices ... 

Which is not in RHEL6, so off to patch from https://git.samba.org/?p=rsync-patches.git;a=blob;f=write-devices.diff

> There is a patch to rsync for copying devices nodes - but the 
> /dev/... 
> pathnames are often symlinks.

Rsync to /dev/dm-2 has the same issue:

if (statret == 0 && !S_ISREG(sx.st.st_mode)) {
   if (delete_item(fname, sx.st.st_mode, del_opts | DEL_FOR_FILE) != 0)

The above patch changes it to:

if (statret == 0 && !(S_ISREG(sx.st.st_mode) || (write_devices && IS_DEVICE(sx.st.st_mode)))) {

> There are utilities for copying block devices with rsync protocol - I 
> have a python script that I have used around somewhere, but I 
> can't put 
> my fingers on it at the moment.


Here is the RHEL6 rsync srpm (patch) and results, for all the others and Google.



More information about the linux-lvm mailing list