All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: Jan Kasprzak <kas@informatics.muni.cz>
Cc: Andi Kleen <ak@muc.de>, linux-kernel@vger.kernel.org
Subject: Re: sendfile -EOVERFLOW on AMD64
Date: Wed, 19 May 2004 06:58:06 -0400	[thread overview]
Message-ID: <20040519105805.GK30909@devserv.devel.redhat.com> (raw)
In-Reply-To: <20040519103855.GF18896@fi.muni.cz>

On Wed, May 19, 2004 at 12:38:56PM +0200, Jan Kasprzak wrote:
> Andi Kleen wrote:
> : Jan Kasprzak <kas@informatics.muni.cz> writes:
> : >
> : > The image (FC2-i386-DVD.iso) has 4370640896 bytes. The FTP server is native
> : > x86_64 binary, not a 32-bit one.
> : 
> : sys_sendfile limits itself dumbly to 2GB even on 64bit architectures.
> : This patch should fix it on x86-64, although other 64bit ports may 
> : need a similar patch. Just removing the limit in read_write 
> : is not easy, because it would need fixes in all the 32bit emulation
> : layers.
> : 
> 	It partly helped, thanks. But there is still one more problem
> - it looks like sendfile() returns 32-bit value instead of 64-bit.
> My debug info looks like this:
> 
> sendfile(offset=0, count=4370640896)
>     = -767073160, offset=3527894136
> 
> where I do
> 
> 	long val = sendfile(...); printf(...%ld..., val);

What filesystem you're using?
For XFS I'd expect this:
STATIC ssize_t
linvfs_sendfile(
        struct file             *filp,
        loff_t                  *ppos,
        size_t                  count,
        read_actor_t            actor,
        void                    *target)
{
        vnode_t                 *vp = LINVFS_GET_VP(filp->f_dentry->d_inode);
        int                     error;

        VOP_SENDFILE(vp, filp, ppos, 0, count, actor, target, NULL, error);
        return error;
}

(note error is int, not ssize_t), but I don't see anything obvious
for other filesystems.

	Jakub

  reply	other threads:[~2004-05-19 10:58 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1XuW9-3G0-23@gated-at.bofh.it>
2004-05-19  9:29 ` sendfile -EOVERFLOW on AMD64 Andi Kleen
2004-05-19 10:38   ` Jan Kasprzak
2004-05-19 10:58     ` Jakub Jelinek [this message]
2004-05-19 11:01       ` Jan Kasprzak
2004-05-19 11:22         ` Nathan Scott
2004-05-19 11:13       ` Nathan Scott
2004-05-19 12:44       ` Andi Kleen
2004-05-19 12:50         ` Jakub Jelinek
2004-05-19 12:57           ` Andi Kleen
2004-05-19 19:48       ` Jan Kasprzak
2004-05-19  8:44 Jan Kasprzak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040519105805.GK30909@devserv.devel.redhat.com \
    --to=jakub@redhat.com \
    --cc=ak@muc.de \
    --cc=kas@informatics.muni.cz \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.