ceph_put_snap_context(snapc);
page->private = 0;
ClearPagePrivate(page);
- } else
+ } else {
dout(20, "%p invalidatepage %p idx %lu partial dirty page\n",
&ci->vfs_inode, page, page->index);
+ }
}
/* just a sanity check */
for (i = 0; i < pvec_pages && locked_pages < max_pages; i++) {
page = pvec.pages[i];
dout(20, "? %p idx %lu\n", page, page->index);
- if (locked_pages == 0)
+ if (locked_pages == 0) {
lock_page(page); /* first page */
+ }
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
else if (!trylock_page(page))
#else
if (!ci->i_snap_realm) {
ci->i_snap_realm = realm;
list_add(&ci->i_snap_realm_item, &realm->inodes_with_caps);
- } else
+ } else {
ceph_put_snap_realm(realm);
+ }
dout(10, "add_cap inode %p (%llx.%llx) cap %xh now %xh seq %d mds%d\n",
inode, ceph_vinop(inode), issued, issued|cap->issued, seq, mds);
__take_cap_refs(ci, *got);
ret = 1;
}
- } else
+ } else {
dout(30, "get_cap_refs %p have %d needed %d\n", inode,
have, need);
+ }
sorry:
spin_unlock(&inode->i_lock);
dout(30, "get_cap_refs %p ret %d got %d\n", inode,
}
spin_unlock(&inode->i_lock);
- if (last)
+ if (last) {
ceph_check_caps(ci, 0);
- else if (last_snap) {
+ } else if (last_snap) {
ceph_flush_snaps(ci);
wake_up(&ci->i_cap_wq);
}
dout(10, "revocation: %d -> %d\n", cap->issued, newcaps);
if ((cap->issued & ~newcaps) & CEPH_CAP_RDCACHE)
invalidate = 1;
- if ((used & ~newcaps) & CEPH_CAP_WRBUFFER)
+ if ((used & ~newcaps) & CEPH_CAP_WRBUFFER) {
writeback = 1; /* will delay ack */
- else {
+ } else {
/*
* we're not using revoked caps.. ack now.
* re-use incoming message.
* don't need to truncate.
*/
spin_lock(&inode->i_lock);
- if (ci->i_vmtruncate_to < 0 && size > inode->i_size)
+ if (ci->i_vmtruncate_to < 0 && size > inode->i_size) {
dout(10, "clean fwd truncate, no vmtruncate needed\n");
- else if (ci->i_vmtruncate_to >= 0 && size >= ci->i_vmtruncate_to)
+ } else if (ci->i_vmtruncate_to >= 0 && size >= ci->i_vmtruncate_to) {
dout(10, "trunc to %lld < %lld already queued\n",
ci->i_vmtruncate_to, size);
- else {
+ } else {
/* we need to trunc even smaller */
dout(10, "queueing trunc %lld -> %lld\n", inode->i_size, size);
ci->i_vmtruncate_to = size;
ci->i_cap_exporting_issued = cap->issued;
}
was_last = __ceph_remove_cap(cap);
- } else
+ } else {
WARN_ON(!cap);
+ }
spin_unlock(&inode->i_lock);
if (was_last)
filp->f_pos++;
}
skew = -2; /* compensate for . and .. */
- } else
+ } else {
skew = 0;
+ }
rinfo = &fi->last_readdir->r_reply_info;
dout(10, "readdir frag %x num %d off %d skew %d\n", frag,
req->r_last_dentry = d_alloc(dentry->d_parent,
&dentry->d_name);
d_rehash(req->r_last_dentry);
- } else
+ } else {
d_add(dentry, NULL);
+ }
}
err = 0;
}
if (err)
dentry = ERR_PTR(err);
- else if (dentry != req->r_last_dentry) {
+ else if (dentry != req->r_last_dentry)
dentry = dget(req->r_last_dentry); /* we got spliced */
- } else
+ else
dentry = NULL;
return dentry;
}
snap[snaplen] = 0;
pathdentry = d_find_alias(dir);
dout(5, "mksnap dir %p snap '%s' dn %p\n", dir, snap, dentry);
- } else if (ceph_snap(dir) != CEPH_NOSNAP)
+ } else if (ceph_snap(dir) != CEPH_NOSNAP) {
return -EROFS;
- else
+ } else {
dout(5, "mkdir dir %p dn %p mode 0%o\n", dir, dentry, mode);
+ }
path = ceph_build_path(pathdentry, &pathlen, &pathbase, 1);
if (pathdentry != dentry)
dput(pathdentry);
ceph_mdsc_lease_release(mdsc, dir, NULL, CEPH_LOCK_ICONTENT);
err = ceph_mdsc_do_request(mdsc, req);
ceph_mdsc_put_request(req);
- if (err)
+ if (err) {
d_drop(dentry);
- else if (req->r_reply_info.trace_numd == 0) {
+ } else if (req->r_reply_info.trace_numd == 0) {
/* no trace */
struct inode *inode = old_dentry->d_inode;
inc_nlink(inode);
snap[snaplen] = 0;
pathdentry = d_find_alias(dir);
dout(5, "rmsnap dir %p '%s' dn %p\n", dir, snap, dentry);
- } else if (ceph_snap(dir) != CEPH_NOSNAP)
+ } else if (ceph_snap(dir) != CEPH_NOSNAP) {
return -EROFS;
- else
+ } else {
dout(5, "unlink/rmdir dir %p dn %p inode %p\n",
dir, dentry, inode);
+ }
path = ceph_build_path(pathdentry, &pathlen, &pathbase, 1);
if (pathdentry != dentry)
dput(pathdentry);
inode->i_mtime = *mtime;
if (timespec_compare(atime, &inode->i_atime) > 0)
inode->i_atime = *atime;
- } else
+ } else {
warn = 1;
+ }
} else {
/* we have no write caps; whatever the MDS says is true */
if (time_warp_seq >= ci->i_time_warp_seq) {
inode->i_mtime = *mtime;
inode->i_atime = *atime;
ci->i_time_warp_seq = time_warp_seq;
- } else
+ } else {
warn = 1;
+ }
}
if (warn) /* time_warp_seq shouldn't go backwards */
dout(10, "%p mds time_warp_seq %llu < %llu\n",
is_new = 1;
}
list_move_tail(&ci->i_lease_item, &session->s_inode_leases);
- } else
+ } else {
mask = 0;
+ }
spin_unlock(&inode->i_lock);
if (is_new)
igrab(inode);
dput(dn);
dn = realdn;
ceph_init_dentry(dn);
- } else
+ } else {
dout(10, "dn %p attached to %p ino %llx.%llx\n",
dn, dn->d_inode, ceph_vinop(dn->d_inode));
+ }
if ((!prehash || *prehash) && d_unhashed(dn))
d_rehash(dn);
out:
}
/* inode */
- if (dn->d_inode)
+ if (dn->d_inode) {
in = dn->d_inode;
- else {
+ } else {
in = ceph_get_inode(parent->d_sb, vino);
if (in == NULL) {
dout(30, "new_inode badness\n");
(ci->i_reported_size << 1) < ci->i_max_size) {
spin_unlock(&inode->i_lock);
ceph_check_caps(ci, 0);
- } else
+ } else {
spin_unlock(&inode->i_lock);
+ }
}
/*
truncate_inode_pages(inode->i_mapping, to);
if (wrbuffer_refs == 0)
ceph_check_caps(ci, 0);
- } else
+ } else {
dout(10, "__do_pending_vmtruncate %p nothing to do\n", inode);
+ }
}
/*
ceph_decode_32_safe(&p, end, len, bad);
p += len;
}
- } else
+ } else {
namelen = 0;
+ }
/* include virtual dir xattrs */
if ((inode->i_mode & S_IFMT) == S_IFDIR)
ceph_decode_32(&p, len);
p += len;
}
- } else
+ } else {
names[0] = 0;
+ }
/* virtual xattr names, too */
if ((inode->i_mode & S_IFMT) == S_IFDIR)
err = 0;
else if (err == 0)
err = -EIO;
- } else
+ } else {
wait_for_completion(&mdsc->map_waiters);
+ }
mutex_lock(&mdsc->mutex);
dout(30, "wait_for_new_map err %d\n", err);
return err;
err = 0;
else if (err == 0)
err = -EIO;
- } else
+ } else {
wait_for_completion(&session->s_completion);
+ }
dout(30, "open_session done waiting on session %p, state %d\n",
session, session->s_state);
if (time_before(jiffies, session->s_cap_ttl)) {
dout(1, "mds%d caps renewed\n", session->s_mds);
wake = 1;
- } else
+ } else {
dout(1, "mds%d caps still stale\n", session->s_mds);
+ }
}
dout(10, "renewed_caps mds%d ttl now %lu, was %s, now %s\n",
session->s_mds, session->s_cap_ttl, was_stale ? "stale":"fresh",
void *p, *end;
int pathlen;
- if (op == CEPH_MDS_OP_FINDINODE)
+ if (op == CEPH_MDS_OP_FINDINODE) {
pathlen = sizeof(u32) + ino1*sizeof(struct ceph_inopath_item);
- else {
+ } else {
pathlen = 2*(sizeof(ino1) + sizeof(__u32));
if (path1)
pathlen += strlen(path1);
mds = di->lease_session->s_mds;
dnamelen = dentry->d_name.len;
len += dentry->d_name.len;
- } else
+ } else {
mask &= ~CEPH_LOCK_DN; /* no lease; clear DN bit */
+ }
spin_unlock(&dentry->d_lock);
- } else
+ } else {
mask &= ~CEPH_LOCK_DN; /* no lease; clear DN bit */
+ }
/* inode lease? */
ci = ceph_inode(inode);
mds = ci->i_lease_session->s_mds;
mask &= CEPH_LOCK_DN | ci->i_lease_mask; /* lease is valid */
ci->i_lease_mask &= ~mask;
- } else
+ } else {
mask &= CEPH_LOCK_DN; /* no lease; clear all but DN bits */
+ }
spin_unlock(&inode->i_lock);
if (mask == 0) {
ceph_mdsmap_get_state(newmap, from) ==
CEPH_MDS_STATE_RECONNECT)
send_mds_reconnect(mdsc, from);
- } else
+ } else {
mdsc->mdsmap = newmap; /* first mds map */
+ }
mutex_unlock(&mdsc->mutex);
schedule_delayed(mdsc);
if (test_bit(WRITE_PENDING, &con->state)) {
dout(30, "ceph_write_space %p queueing write work\n", con);
ceph_queue_con(con);
- } else
+ } else {
dout(30, "ceph_write_space %p nothing to write\n", con);
+ }
/* since we have our own write_space, clear the SOCK_NOSPACE flag */
clear_bit(SOCK_NOSPACE, &sk->sk_socket->flags);
if (test_and_clear_bit(ACCEPTING, &con->state)) {
list_del_init(&con->list_bucket);
put_connection(con);
- } else
+ } else {
list_add(&con->list_all, &msgr->con_all);
+ }
head = radix_tree_lookup(&msgr->con_tree, key);
if (head) {
len -= rc;
if (len > 0)
goto more;
- } else
+ } else {
finalrc = rc;
+ }
dout(10, "sync_read result %d\n", finalrc);
return finalrc;
}
req->r_pages[contig_pages] = page;
contig_pages++;
next_index++;
- } else
+ } else {
break;
+ }
}
dout(10, "readpages found %d/%d contig\n", contig_pages, num_pages);
if (contig_pages == 0)
len -= len;
if (len > 0)
goto more;
- } else
+ } else {
finalrc = rc;
+ }
dout(10, "sync_write result %d\n", finalrc);
return finalrc;
}
return -ENOMEM;
for (i = 0; i < num; i++)
(*dst)[i] = le64_to_cpu(src[i]);
- } else
+ } else {
*dst = NULL;
+ }
return 0;
}
dout(20, "update_snap_trace cap_snaps queued\n");
}
- } else
+ } else {
dout(10, "update_snap_trace %llx %p seq %lld unchanged\n",
realm->ino, realm, realm->seq);
+ }
/* ensure the parent is correct */
err = adjust_snap_realm_parent(mdsc, realm, le64_to_cpu(ri->parent));
goto fail;
invalidate = 1;
- } else if (!realm->cached_context)
+ } else if (!realm->cached_context) {
invalidate = 1;
+ }
dout(10, "done with %llx %p, invalidated=%d, %p %p\n", realm->ino,
realm, invalidate, p, e);