/* take s_mutex, one way or another */
if (session && session != cap->session) {
dout(30, "oops, wrong session mutex\n");
- up(&session->s_mutex);
+ mutex_unlock(&session->s_mutex);
session = 0;
}
if (!session) {
session = cap->session;
- if (down_trylock(&session->s_mutex) != 0) {
+ if (mutex_trylock(&session->s_mutex) == 0) {
dout(10, "inverting session/inode locking\n");
spin_unlock(&inode->i_lock);
- down(&session->s_mutex);
+ mutex_lock(&session->s_mutex);
goto retry;
}
}
used, wanted, !is_delayed);
if (removed_last)
goto out;
- up(&session->s_mutex);
+ mutex_unlock(&session->s_mutex);
goto retry;
}
out:
if (session)
- up(&session->s_mutex);
+ mutex_unlock(&session->s_mutex);
}
void ceph_inode_set_size(struct inode *inode, loff_t size)
s->s_mds = mds;
s->s_state = CEPH_MDS_SESSION_NEW;
s->s_cap_seq = 0;
- init_MUTEX(&s->s_mutex);
+ mutex_init(&s->s_mutex);
spin_lock_init(&s->s_cap_lock);
s->s_cap_ttl = 0;
s->s_renew_requested = 0;
/* handle */
spin_lock(&mdsc->lock);
session = __get_session(mdsc, mds);
- down(&session->s_mutex);
+ mutex_lock(&session->s_mutex);
was_stale = time_after_eq(jiffies, session->s_cap_ttl);
}
spin_unlock(&mdsc->lock);
- up(&session->s_mutex);
+ mutex_unlock(&session->s_mutex);
put_session(session);
return;
BUG_ON(req->r_reply);
spin_unlock(&mdsc->lock);
- down(&req->r_session->s_mutex);
+ mutex_lock(&req->r_session->s_mutex);
/* parse */
rinfo = &req->r_reply_info;
}
done:
- up(&req->r_session->s_mutex);
+ mutex_unlock(&req->r_session->s_mutex);
spin_lock(&mdsc->lock);
if (err) {
req->r_reply = ERR_PTR(err);
spin_unlock(&mdsc->lock); /* drop lock for duration */
if (session)
- down(&session->s_mutex);
+ mutex_lock(&session->s_mutex);
retry:
/* build reply */
}
out:
if (session) {
- up(&session->s_mutex);
+ mutex_unlock(&session->s_mutex);
put_session(session);
}
return;
return;
}
- down(&session->s_mutex);
+ mutex_lock(&session->s_mutex);
session->s_cap_seq++;
/* lookup ino */
iput(inode);
no_inode:
- up(&session->s_mutex);
+ mutex_unlock(&session->s_mutex);
put_session(session);
return;
struct ceph_msg *msg;
dout(10, "close_session mds%d\n", mds);
- down(&session->s_mutex);
+ mutex_lock(&session->s_mutex);
if (session->s_state >= CEPH_MDS_SESSION_CLOSING)
goto done;
send_msg_mds(mdsc, msg, mds);
done:
- up(&session->s_mutex);
+ mutex_unlock(&session->s_mutex);
return 0;
}
}
session->s_cap_seq++;
- down(&session->s_mutex);
+ mutex_lock(&session->s_mutex);
/* lookup inode */
inot = ceph_ino_to_ino(ino);
h->action = CEPH_MDS_LEASE_RELEASE;
ceph_msg_get(msg);
send_msg_mds(mdsc, msg, mds);
- up(&session->s_mutex);
+ mutex_unlock(&session->s_mutex);
return;
bad:
continue;
}
spin_unlock(&mdsc->lock);
- down(&session->s_mutex);
+ mutex_lock(&session->s_mutex);
if (renew_caps)
send_renewcaps(mdsc, session);
trim_session_leases(session);
- up(&session->s_mutex);
+ mutex_unlock(&session->s_mutex);
put_session(session);
spin_lock(&mdsc->lock);
}