[PATCH 0/7] extent list locking fixes V2
Ben Myers
bpm at sgi.com
Fri Dec 6 11:57:26 CST 2013
On Fri, Dec 06, 2013 at 09:54:44AM -0800, Christoph Hellwig wrote:
> On Fri, Dec 06, 2013 at 11:37:29AM -0600, Ben Myers wrote:
> > Hey Christoph,
> >
> > On Fri, Dec 06, 2013 at 08:48:19AM -0800, Christoph Hellwig wrote:
> > > Fixed the review feedback, and includes Bens original patch for completeness.
> >
> > I ran your initial series overnight with xfstests... oddly I hit this:
>
> I think I understand the problem:
>
> uint
> xfs_ilock_map_shared(
> xfs_inode_t *ip)
> {
> uint lock_mode;
>
> if ((ip->i_d.di_format == XFS_DINODE_FMT_BTREE) &&
> ((ip->i_df.if_flags & XFS_IFEXTENTS) == 0)) {
> lock_mode = XFS_ILOCK_EXCL;
> } else {
> lock_mode = XFS_ILOCK_SHARED;
> }
>
> xfs_ilock(ip, lock_mode);
> return lock_mode;
> }
>
> This only looks at the data fork, while we'd need to use it for the
> fork we plan to operate on. Looks like we'll need some bigger surgery
> this area.
Ah, that makes sense. Maybe just add a flags arg?
More information about the xfs
mailing list