int valid = 0;
spin_lock(&dentry->d_lock);
di = ceph_dentry(dentry);
- if (di && time_after(dentry->d_time, jiffies))
+ if (di && time_before(jiffies, dentry->d_time))
valid = 1;
spin_unlock(&dentry->d_lock);
dout(20, "dentry_lease_valid - dentry %p = %d\n", dentry, valid);
list_for_each(p, &ci->i_caps) {
cap = list_entry(p, struct ceph_inode_cap, ci_caps);
- if (time_after(jiffies, cap->session->s_cap_ttl)) {
+ if (time_after_eq(jiffies, cap->session->s_cap_ttl)) {
dout(30, "__ceph_caps_issued %p cap %p issued %d "
"but STALE\n", &ci->vfs_inode, cap, cap->issued);
continue;
struct ceph_inode_info,
i_cap_dwork.work);
spin_lock(&ci->vfs_inode.i_lock);
- if (ci->i_hold_caps_until > jiffies) {
+ if (ci->i_hold_caps_until &&
+ time_before(jiffies, ci->i_hold_caps_until)) {
dout(10, "cap_dwork on %p -- rescheduling\n", &ci->vfs_inode);
- schedule_delayed_work(&ci->i_cap_dwork,
- ci->i_hold_caps_until - jiffies);
+ schedule_delayed_work(&ci->i_cap_dwork,
+ time_sub(ci->i_hold_caps_until, jiffies));
spin_unlock(&ci->vfs_inode.i_lock);
} else {
dout(10, "cap_dwork on %p\n", &ci->vfs_inode);
if (!is_delayed) {
unsigned long until = round_jiffies(jiffies + HZ * 5);
- if (until > ci->i_hold_caps_until) {
+ if (time_after(until, ci->i_hold_caps_until)) {
ci->i_hold_caps_until = until;
dout(10, "hold_caps_until %lu\n", until);
cancel_delayed_work(&ci->i_cap_dwork);
schedule_delayed_work(&ci->i_cap_dwork,
- until - jiffies);
+ time_sub(until, jiffies));
}
}
if ((cap->issued & ~wanted) == 0)
continue; /* nothing extra, all good */
- if (jiffies < ci->i_hold_caps_until) {
+ if (time_before(jiffies, ci->i_hold_caps_until)) {
/* delaying cap release for a bit */
dout(30, "delaying cap release\n");
continue;
int mds = session->s_mds;
struct ceph_msg *msg;
- if (time_after(jiffies, session->s_cap_ttl) &&
- session->s_renew_requested < session->s_cap_ttl)
+ if (time_after_eq(jiffies, session->s_cap_ttl) &&
+ time_before(session->s_renew_requested, session->s_cap_ttl))
dout(1, "mds%d session caps stale\n", session->s_mds);
dout(10, "resume_session to mds%d\n", mds);
ci = list_first_entry(&session->s_inode_leases,
struct ceph_inode_info, i_lease_item);
spin_lock(&ci->vfs_inode.i_lock);
- if (ci->i_lease_ttl > jiffies) {
+ if (time_before(jiffies, ci->i_lease_ttl)) {
spin_unlock(&ci->vfs_inode.i_lock);
break;
}
struct ceph_dentry_info, lease_item);
dentry = di->dentry;
spin_lock(&dentry->d_lock);
- if (dentry->d_time > jiffies) {
+ if (time_before(jiffies, dentry->d_time)) {
spin_unlock(&dentry->d_lock);
break;
}
session = __get_session(mdsc, mds);
down(&session->s_mutex);
- was_stale = time_after(jiffies, session->s_cap_ttl);
+ was_stale = time_after_eq(jiffies, session->s_cap_ttl);
dout(2, "handle_session %p op %d seq %llu\n", session, op, seq);
switch (op) {
{
struct ceph_msg *msg;
- if (time_after(jiffies, session->s_cap_ttl) &&
- session->s_renew_requested < session->s_cap_ttl)
+ if (time_after_eq(jiffies, session->s_cap_ttl) &&
+ time_before_eq(session->s_renew_requested, session->s_cap_ttl))
dout(1, "mds%d session caps stale\n", session->s_mds);
dout(10, "send_renew_caps to mds%d\n", session->s_mds);
mask &= ~CEPH_LOCK_DN; /* nothing to release */
ci = ceph_inode(inode);
ino = ci->i_ceph_ino;
- if (ci->i_lease_session && time_after(ci->i_lease_ttl, jiffies) &&
+ if (ci->i_lease_session &&
+ time_before(jiffies, ci->i_lease_ttl) &&
ci->i_lease_session->s_mds >= 0) {
mds = ci->i_lease_session->s_mds;
mask &= CEPH_LOCK_DN | ci->i_lease_mask; /* lease is valid */
struct ceph_mds_client *mdsc =
container_of(work, struct ceph_mds_client, delayed_work.work);
int renew_interval = mdsc->mdsmap->m_cap_bit_timeout >> 1;
- int renew_caps = (jiffies >= HZ*renew_interval + mdsc->last_renew_caps);
+ int renew_caps = time_after_eq(jiffies, HZ*renew_interval +
+ mdsc->last_renew_caps);
dout(10, "delayed_work on %p renew_caps=%d\n", mdsc, renew_caps);