lkml.org 
[lkml]   [2015]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] xfs: clarify lock ordering comment
On Fri, Oct 09, 2015 at 09:24:50AM +1100, Dave Chinner wrote:
> On Thu, Oct 08, 2015 at 03:58:01PM -0600, Ross Zwisler wrote:
> > Replace "i_mmap_lock" with "mmap_lock" in the lock ordering comment above
> > xfs_filemap_page_mkwrite(). The lock in question is actually the
> > XFS_MMAPLOCK_SHARED rw_semaphore (no leading "i"), and this comment is
>
> struct xfs_inode {
> ....
> mrlock_t i_mmaplock; /* inode mmap IO lock */
> ....
>
> > easily confused with the "i_mmap_lock_[read|write]" functions that operate
> > on struct address_space->i_mmap_rwsem. This clarification is especially
> > important because address_space->i_mmap_rwsem is taken down in the DAX
> > code as part of this fault path.
> >
> > Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
> > ---
> > fs/xfs/xfs_file.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
> > index f429662..b190033 100644
> > --- a/fs/xfs/xfs_file.c
> > +++ b/fs/xfs/xfs_file.c
> > @@ -1477,7 +1477,7 @@ xfs_file_llseek(
> > *
> > * mmap_sem (MM)
> > * sb_start_pagefault(vfs, freeze)
> > - * i_mmap_lock (XFS - truncate serialisation)
> > + * mmap_lock (XFS - truncate serialisation)
>
> As per above, the XFS lock is "i_mmaplock"...
>
> The lock names are annotated with the subsystem the lock belongs to
> to avoid this confusion. Along with the lock ordering (inside
> sb_start_pagefault) this should indicate that it's not the
> "i_mmap_lock (MM - vma serialisation)" lock... ;)

Ah, that makes sense, thanks. :)


\
 
 \ /
  Last update: 2015-10-09 01:21    [W:0.097 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site