Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vsftpd corrupt writes to CIFS mounts. *solved*

112 views
Skip to first unread message

brigman

unread,
Feb 26, 2008, 10:23:34 PM2/26/08
to
I have been using vsftpd to write to some CIFS filesystems mounted
under /var/ftp but consistently found that inbound files were
corrupted by many kilobytes of zero values starting from byte position
1. The amount of zero values varied from between locations
0x000001:0x00a000 and 0x000001:0x00f000 (and possibly further). but
position for position, the remainder of the file matched the original;
i.e. the first portion of the file was not actually displaced, but
simply replaced by zero values.

The general consensus on the web/usenet (etc) is to turn on the
use_sendfile=NO option in vsftpd.conf, but this would only save the
first write after any restart of the vsftpd service. The actual
solution came from mounting the directories with the mount.cifs option
"nobrl" which configures the kernel such that it does not send byte
range lock requests to the server. Or something.

use_sendfile=NO did however have a use in preventing "426 Failure
writing network stream." on ftp reads.

The entire mount commands were:

mount -t cifs -o credentials=/etc/samba/cifs_credentials -o rw -o
nobrl //Win2003SR2/ftp$/inbound /var/ftp/inbound
mount -t cifs -o credentials=/etc/samba/cifs_credentials -o rw -o
nobrl //Win2003SR2/ftp$/outbound /var/ftp/outbound

packages in use (not necessarily relevant):

samba-client-3.0.25b-1.el5_1.4
samba-common-3.0.25b-1.el5_1.4
kernel-xen-2.6.18-53.1.6.el5
vsftpd-2.0.5-10.el5

Hope this helps.

Randell_D

unread,
Feb 28, 2008, 5:56:58 AM2/28/08
to
Thanks for the above - I experienced some similar problems years ago
and never resolved it - If I remember correctly I could ftp every file
except a gif file - the gif's were always corrupted, everything else
(from pdf, word, png, jpg, html and windoze exe files) all arrived
fine. I only found one other person on the 'net who had a similar
problem but we couldn't find a solution.

I would have liked to have the same situation to try your solution...
the environment is dead now though...

0 new messages