public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.4 sendfile() not doing as manpage promises?
@ 2000-11-18 23:15 bert hubert
  2000-11-18 23:15 ` Dan Hollis
  0 siblings, 1 reply; 6+ messages in thread
From: bert hubert @ 2000-11-18 23:15 UTC (permalink / raw)
  To: linux-kernel

Hi everybody,

I tried to use sendfile() to send data from a tcp/ip socket to a file on
disk. This does not work, giving EINVAL. 

Using the very fine kgdb product (http://kgdb.sourceforge.net) and my laptop
for remote debugging, I was able to trace this to this:

sys/filemap.c::sys_sendfile():

        if (!in_inode->i_mapping->a_ops->readpage)
                goto fput_in;

After some exploring with 'ddd' (a very nice graphical frontend for gdb,
which includes tools to display and traverse structs), I found that this
probably means that sendfile() can only be used to send files from
blockdevices which support mmap()-like functionality.

Is this correct? In that case, the wording of the manpage needs to be
changed, as it implies that 'either or both' of the filedescriptors can be
sockets.

Regards,

bert hubert

-- 
PowerDNS                     Versatile DNS Services  
Trilab                       The Technology People   
'SYN! .. SYN|ACK! .. ACK!' - the mating call of the internet
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2000-11-20  1:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-11-18 23:15 2.4 sendfile() not doing as manpage promises? bert hubert
2000-11-18 23:15 ` Dan Hollis
2000-11-19  0:53   ` bert hubert
2000-11-19 16:36     ` Andries Brouwer
2000-11-19 23:16       ` bert hubert
2000-11-20  1:11       ` Dan Hollis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox