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