All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	torvalds@linux-foundation.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	"Theodore Ts'o" <tytso@mit.edu>
Subject: Re: [RESEND] [PATCH] VFS: make file->f_pos access atomic on 32bit arch
Date: Wed, 08 Oct 2008 11:17:22 +0200	[thread overview]
Message-ID: <1223457442.1378.42.camel@lappy.programming.kicks-ass.net> (raw)
In-Reply-To: <48EC7003.4040108@cosmosbay.com>

On Wed, 2008-10-08 at 10:32 +0200, Eric Dumazet wrote:

> About dup() syscall, it wont help, since old and new descriptor points to
> the same "struct file", definitly sharing file position, since first Unixes.
> 
> To quote the fine manual :
> 
>        After successful return of dup or dup2, the old and new descriptors may
>        be used interchangeably. They share locks, file position  pointers  and
>        flags;  for example, if the file position is modified by using lseek on
>        one of the descriptors, the position is also changed for the other.

Ah, ok. I'll try to remember for next time I write a multi-threaded user
app (which given the size of my kernel todo list won't be any time soon
I guess ;-)

> pread()/pwrite() are used my multi-threaded applications that want to share
> a single "struct file".

Yeah, pread/pwrite is good.

>  Or they must use some form of synchronization around
> regular read()/write()/lseek() calls.
> 
> There is no generic f_pos race, only buggy applications.

Agreed.



  parent reply	other threads:[~2008-10-08  9:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-07  5:07 [RESEND] [PATCH] VFS: make file->f_pos access atomic on 32bit arch Hisashi Hifumi
2008-10-07  6:43 ` Andi Kleen
2008-10-07 10:11   ` Hisashi Hifumi
2008-10-07 10:29     ` Andi Kleen
2008-10-07 16:27       ` Nick Piggin
2008-10-07 17:50         ` Andrew Morton
2008-10-07 18:59           ` Peter Zijlstra
2008-10-08  2:35             ` Nick Piggin
2008-10-08  2:52               ` Matthew Wilcox
2008-10-09 12:23                 ` Pavel Machek
2008-10-09 12:49                   ` Valdis.Kletnieks
2008-10-09 13:01                   ` Matthew Wilcox
2008-10-09 13:38                     ` Miklos Szeredi
2008-10-09 14:58                     ` Linus Torvalds
2008-10-09 17:29                   ` Jeremy Fitzhardinge
2008-10-08  4:48               ` Hisashi Hifumi
2008-10-08  5:10                 ` Nick Piggin
2008-10-08  5:16                 ` Matthew Wilcox
2008-10-08  6:28                 ` Andrew Morton
2008-10-08  6:51                 ` Peter Zijlstra
2008-10-08  8:32                   ` Eric Dumazet
2008-10-08  8:32                     ` Eric Dumazet
2008-10-08  8:48                     ` Nick Piggin
2008-10-08  9:17                     ` Peter Zijlstra [this message]
2008-10-09 21:51                   ` dcg
2008-10-10  2:25                     ` Nick Piggin
2008-10-10  2:25                       ` Nick Piggin
2008-10-09 12:16             ` Pavel Machek
2008-10-08  0:40           ` Nick Piggin
2008-10-07 18:00         ` Matthew Wilcox

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=1223457442.1378.42.camel@lappy.programming.kicks-ass.net \
    --to=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=dada1@cosmosbay.com \
    --cc=hifumi.hisashi@oss.ntt.co.jp \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    /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.