Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1315805

Re: [git pull] vfs.git - including i_mutex wrappers

From Al Viro <viro@ZenIV.linux.org.uk>
Newsgroups linux.kernel
Subject Re: [git pull] vfs.git - including i_mutex wrappers
Date 2016-01-24 02:50 +0100
Message-ID <qUhYt-5To-3@gated-at.bofh.it> (permalink)
References <qU7Pu-48H-63@gated-at.bofh.it> <qUf0B-3TP-3@gated-at.bofh.it> <qUfah-405-15@gated-at.bofh.it> <qUfDj-4rj-3@gated-at.bofh.it> <qUhc6-5lj-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Sun, Jan 24, 2016 at 11:53:04AM +1100, Dave Chinner wrote:
> > readdir() is another potential target for weaker exclusion (i.e. switching
> > it to taking that thing shared), but that's a separate story and I'd prefer
> > to deal with ->lookup() first.  There are potentially hairy issues around
> > the instances that pre-seed dcache and I don't want to mix them into the
> > initial series.
> 
> So you're doing this for purely to enable lookup concurrency, not
> for anyone else to be able to use the inode lock as a read/write
> lock? Can anyone use the inode rwsem as a read/write lock for their
> own purposes? If so, we can probably use it to replace the XFS
> IOLOCK and so effectively remove a layer of locking in various
> XFS IO paths. What's the policy you are proposing here?

Depends...  I definitely want to keep directory modifiers with that thing
taken exclusive, with lookup and possibly readdir - shared.  Non-directories...
it's mostly up to filesystems; the only place where VFS cares is setattr
and {set,remove}xattr, and that probably should stay exclusive (or be
separated, for that matter, but I hadn't looked into implications of that;
we probably can do that, but there might be dragons).

For data operations on regular files it's probably up to filesystems, as
i_mutex is now.  Not sure if IOLOCK would map well on that; can you live with
that thing taken outside of transaction?

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[git pull] vfs.git - including i_mutex wrappers Al Viro <viro@ZenIV.linux.org.uk> - 2016-01-23 16:00 +0100
  Re: [git pull] vfs.git - including i_mutex wrappers Dave Chinner <david@fromorbit.com> - 2016-01-23 23:40 +0100
    Re: [git pull] vfs.git - including i_mutex wrappers Dave Chinner <david@fromorbit.com> - 2016-01-23 23:50 +0100
      Re: [git pull] vfs.git - including i_mutex wrappers Al Viro <viro@ZenIV.linux.org.uk> - 2016-01-24 00:20 +0100
        Re: [git pull] vfs.git - including i_mutex wrappers Al Viro <viro@ZenIV.linux.org.uk> - 2016-01-24 00:40 +0100
        Re: [git pull] vfs.git - including i_mutex wrappers Dave Chinner <david@fromorbit.com> - 2016-01-24 02:00 +0100
          Re: [git pull] vfs.git - including i_mutex wrappers Al Viro <viro@ZenIV.linux.org.uk> - 2016-01-24 02:50 +0100
            Re: [git pull] vfs.git - including i_mutex wrappers Dave Chinner <david@fromorbit.com> - 2016-01-24 08:10 +0100
              Re: [git pull] vfs.git - including i_mutex wrappers Al Viro <viro@ZenIV.linux.org.uk> - 2016-01-24 08:50 +0100
      Re: [git pull] vfs.git - including i_mutex wrappers Linus Torvalds <torvalds@linux-foundation.org> - 2016-01-24 00:50 +0100
        Re: [git pull] vfs.git - including i_mutex wrappers Dave Chinner <david@fromorbit.com> - 2016-01-24 01:30 +0100
          Re: [git pull] vfs.git - including i_mutex wrappers Al Viro <viro@ZenIV.linux.org.uk> - 2016-01-24 02:30 +0100
            Re: [git pull] vfs.git - including i_mutex wrappers Dave Chinner <david@fromorbit.com> - 2016-01-24 08:20 +0100

csiph-web