Re: [PATCH 0/7] extent list locking fixes V2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 06, 2013 at 11:57:26AM -0600, Ben Myers wrote:
> > 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?

My plan was to replace the helper with two different ones that just
return the flag value, and the use ilock on the return value.  I'll
have to see if there's enough places where we could lock for either
for that adding a variant that takes an "int whichfork" argument would
make sense.

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux