hi, Just do some debugging, and found something. I hope this do help. Correct me if anything wrong.
I'm using samba-3.2.2. For some reason, Linux can not splice a socket and a filefd directly, which samba does so. In linux, sys_splice calls do_splice, which would require either in or out fd to be a PIPE(FIFO). Both parameter (fromfd, tofd) that samba sent with splice failed the test S_ISFIFO() in linux. Maybe it would work to add an addition FIFO? splice(fromfd, FIFO) and splice(FIFO, tofd)? Best Regards, Mac Lin > Date: Thu, 18 Sep 2008 16:01:29 +0200 > From: [EMAIL PROTECTED] > To: [EMAIL PROTECTED] > CC: [EMAIL PROTECTED]; samba@lists.samba.org > Subject: Re: [Samba] Samba write performance in kernel > > On Thu, Sep 18, 2008 at 09:45:43PM +0800, Lin Mac wrote: > > > On Mon, Sep 15, 2008 at 02:44:32PM +0800, Lin Mac wrote: > > > This is a kernel implementation detail. Remember Samba > > > runs on many other kernels, not just Linux. Linux has > > > splice, *BSD has receivefile, Solaris probably has > > > something different. > > > Samba using splice on Linux doesn't work, that is for sure. > > And there's no way that this can be fixed? > > Volker _________________________________________________________________ 用部落格分享照片、影音、趣味小工具和最愛清單,盡情秀出你自己 — Windows Live Spaces http://spaces.live.com/ -- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba