lkml.org 
[lkml]   [2004]   [May]   [15]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSat, 15 May 2004 07:33:33 +0100
From viro@parcelfa ...
SubjectRe: [PATCH 2.6.6-mm2] vfs iput in inode critical region
On Thu, May 13, 2004 at 05:02:19PM +0200, FabF wrote:
> On Sat, 2004-05-15 at 00:47, viro@parcelfarce.linux.theplanet.co.uk
> wrote:
> > On Thu, May 13, 2004 at 09:26:36PM +0200, FabF wrote:
> > > Hi,
> > > 
> > > 	AFAICS, block_dev.c : do_open calls bdput after an unlock_kernel.bdput
> > > calls iput and iput plays with some parameters and locks in iput final
> > > case only.Here's a patch to have a spinlock around the whole iput.
> > 
> > Huh?  Of course iput() is called without BKL (and in a lot more places than
> > just that, actually), but why does it imply that we suddenly need to hold
> > inode_lock over the entire function?
> > 
> What can avoid inode->i_state to change during fs put_inode is done plus
> super_operations get assigned something unprotected as well.

1) Nothing whatsoever; why does ->put_inode() need protection for ->i_state
of all things?
2) ->i_sb never changes through the lifetime of inode; sb->s_op should never
change too.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:03    [from the cache]
©2003-2008