From: "David S. Miller" <davem@redhat.com>
To: taka@valinux.co.jp
Cc: ak@suse.de, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] zerocopy NFS updated
Date: Wed, 10 Apr 2002 23:48:21 -0700 (PDT) [thread overview]
Message-ID: <20020410.234821.122842406.davem@redhat.com> (raw)
In-Reply-To: <20020411.154651.51706443.taka@valinux.co.jp>
From: Hirokazu Takahashi <taka@valinux.co.jp>
Date: Thu, 11 Apr 2002 15:46:51 +0900 (JST)
Please consider a knfsd sends data of File A by useing sendmsg().
1. The knfsd copies the data of File A into sk_buff.
2. File A may be truncated after step.1
3. NFS clients receives the packets of File A which is already truncated.
Next please consider the knfsd sends data of File A by useing sendpage().
1. The knfsd grabs pages of File A. (page_cache_get)
2. File A may be truncated after step.1
3. The knfsd send the pages.
4. NFS clients receives the packets of File A which is already truncated.
Is there any differences between them ?
This behavior is invisible to NFS Clients, I think.
Consider truncate() to 1 byte left in that page. To handle mmap()'s
of this file the kernel will memset() rest of the page to zero.
Now, in the sendfile() case the NFS client sees some page filled
mostly of zeros instead of file contents.
In sendmsg() knfd case, client sees something reasonable. He will
see something that was actually in the file at some point in time.
The sendfile() case sees pure garbage, contents that never were in
the file at any point in time.
We could make knfsd take the write semaphore on the inode until client
is known to get the packet but that is the kind of overhead we'd like
to avoid.
next prev parent reply other threads:[~2002-04-11 6:55 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20020410.190550.83626375.taka@valinux.co.jp.suse.lists.linux.kernel>
2002-04-10 19:32 ` Andi Kleen
2002-04-11 2:30 ` David S. Miller
2002-04-11 6:46 ` Hirokazu Takahashi
2002-04-11 6:48 ` David S. Miller [this message]
2002-04-11 7:41 ` Hirokazu Takahashi
2002-04-11 7:52 ` David S. Miller
2002-04-11 11:38 ` Hirokazu Takahashi
2002-04-11 11:36 ` David S. Miller
2002-04-11 18:00 ` Denis Vlasenko
2002-04-11 13:16 ` Andi Kleen
2002-04-11 17:36 ` Benjamin LaHaise
2002-04-16 0:17 ` Mike Fedyk
2002-04-16 15:37 ` Oliver Xymoron
2002-04-11 17:33 ` Benjamin LaHaise
2002-04-12 8:10 ` Hirokazu Takahashi
2002-04-12 12:30 ` Hirokazu Takahashi
2002-04-12 12:35 ` Andi Kleen
2002-04-12 21:22 ` Jamie Lokier
2002-04-12 21:31 ` David S. Miller
2002-04-13 0:21 ` Jamie Lokier
2002-04-13 6:39 ` Andi Kleen
2002-04-13 8:01 ` Hirokazu Takahashi
2002-04-13 19:19 ` Eric W. Biederman
2002-04-13 19:37 ` Andi Kleen
2002-04-13 20:34 ` Eric W. Biederman
2002-04-24 23:11 ` Mike Fedyk
2002-04-25 17:11 ` Andreas Dilger
2002-04-13 18:52 ` Chris Wedgwood
2002-04-14 0:07 ` Keith Owens
2002-04-14 8:19 ` Chris Wedgwood
2002-04-14 8:40 ` Keith Owens
2002-04-12 21:39 ` David S. Miller
2002-04-15 1:30 ` Hirokazu Takahashi
2002-04-15 4:23 ` David S. Miller
2002-04-16 1:03 ` Hirokazu Takahashi
2002-04-16 1:41 ` Jakob Østergaard
2002-04-16 2:20 ` Hirokazu Takahashi
2002-04-18 5:01 ` Hirokazu Takahashi
2002-04-18 7:58 ` Jakob Østergaard
2002-04-18 8:53 ` Trond Myklebust
2002-04-19 3:21 ` Hirokazu Takahashi
2002-04-19 9:18 ` Trond Myklebust
2002-04-20 7:47 ` Hirokazu Takahashi
2002-04-25 12:37 ` Possible bug with UDP and SO_REUSEADDR. Was " Terje Eggestad
2002-04-26 2:43 ` David S. Miller
2002-04-26 7:38 ` Terje Eggestad
2002-04-29 0:41 ` Possible bug with UDP and SO_REUSEADDR David Schwartz
2002-04-29 8:06 ` Terje Eggestad
2002-04-29 8:44 ` David Schwartz
2002-04-29 10:03 ` Terje Eggestad
2002-04-29 10:38 ` David Schwartz
2002-04-29 14:20 ` Terje Eggestad
[not found] ` <200204192128.QAA24592@popmail.austin.ibm.com>
2002-04-20 10:14 ` [PATCH] zerocopy NFS updated Hirokazu Takahashi
2002-04-20 15:49 ` Andrew Theurer
2002-04-10 10:05 Hirokazu Takahashi
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=20020410.234821.122842406.davem@redhat.com \
--to=davem@redhat.com \
--cc=ak@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=taka@valinux.co.jp \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®