On Thu, Jan 27, 2005 at 09:30:04AM +0000, Stephen C. Tweedie wrote:
> Hi,
> 
> On Thu, 2005-01-27 at 07:57, Al Viro wrote:
> 
> >     Note that fs users of file_fsync() are definitely not going to be
> > involved into contention here - they need opened file => held active
> > reference to superblock.
> 
> >     So we are left only with fs-internal asynchronous callers of
> > lock_super().  UDF, UFS, sysv, hpfs and ext2 are out of question - they
> > don't have async callers of that sort.  ext3... maybe, I'm not familiar
> > with resize code in there.  In any case, that'd better be fixed in
> > ext3 if such abuse exists.
> 
> ext3 resize is like file_fsync() --- it's an ioctl, so there's a
> guaranteed open file at that point.
> 
> But while the resize code originally used lock_super() to protect from
> races against allocation/deallocation, the ordering fixes in it means
> that that's all safe anyway now.  The lock_super() is currently only
> really used to guard against two threads doing resize at the same time,
> and if it's a problem, it would be trivial to use a different lock.

That's fine - it does make sense to move to separate lock, but in any
case we are safe against generic_shutdown_super().  And it means that
at least there (which is the source of UDF problems) lock_super() can die.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to