Date: Thu, 29 May 2008 16:22:10 -0700 From: Maxim Sobolev <sobomax@FreeBSD.org> To: Diomidis Spinellis <dds@aueb.gr> Cc: Harti Brandt <harti@FreeBSD.org>, Andriy Gapon <avg@icyb.net.ua>, current@FreeBSD.org Subject: Re: cp(1) and mmap Message-ID: <483F3AA2.8000601@FreeBSD.org> In-Reply-To: <483F1559.2020600@aueb.gr> References: <20080528110003.Q24259@beagle.kn.op.dlr.de> <483D5DF8.4020504@icyb.net.ua> <483F1559.2020600@aueb.gr>
next in thread | previous in thread | raw e-mail | index | archive | help
Diomidis Spinellis wrote: > Andriy Gapon wrote: >> on 28/05/2008 12:02 Harti Brandt said the following: >>> Hi all, >>> >>> it looks like there is no fallback in cp(1) when mmaping the source file >>> fails. I'm mounting SMB shares via smbnetfs (which in turn uses fuse) >>> and it seems not to support mmaping files. Shouldn't cp just fallback to >>> a normal read()/write() loop in this case? >> >> I would think that it should. >> This topic was brought up several times, but no resolution so far. >> I think that I've even seen patches. >> > > I've not seen the patches, but the fix is trivial (see the attached > patch). If there are no objections, I can commit it. > > I also think we should use mmap for larger files, mmapping and writing > them out in several chunks. I believe that even better way is to extend sendfile(2) to allow both sockets and file descriptors to be used as the destination and use that interface instead of mmap/read/write. Linux for example allows that. -Maxim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?483F3AA2.8000601>