A more accurate test in the new ufs_lock than that in 1.235.

This commit is contained in:
Kirk McKusick 2004-02-23 19:05:05 +00:00
parent 13706e456a
commit ecef42e1eb

View file

@ -1989,8 +1989,9 @@ ufs_lock(ap)
struct vnode *vp = ap->a_vp;
int flags = ap->a_flags;
if ((VTOI(vp)->i_flags & SF_SNAPSHOT) && (flags & LK_SHARED)) {
flags &= ~LK_SHARED;
if ((VTOI(vp)->i_flags & SF_SNAPSHOT) &&
((flags & LK_TYPE_MASK) == LK_SHARED)) {
flags &= ~LK_TYPE_MASK;
flags |= LK_EXCLUSIVE;
}
#ifndef DEBUG_LOCKS