#define _CEPH_STRINGIFY(x) #x
#define CEPH_STRINGIFY(x) _CEPH_STRINGIFY(x)
-#define CEPH_MAKE_VERSION(x, y, z) CEPH_STRINGIFY(x) "." CEPH_STRINGIFY(y) "." CEPH_STRINGIFY(z)
-#define CEPH_VERSION CEPH_MAKE_VERSION(CEPH_VERSION_MAJOR, CEPH_VERSION_MINOR, CEPH_VERSION_PATCH)
+#define CEPH_MAKE_VERSION(x, y, z) CEPH_STRINGIFY(x) "." CEPH_STRINGIFY(y) \
+ "." CEPH_STRINGIFY(z)
+#define CEPH_VERSION CEPH_MAKE_VERSION(CEPH_VERSION_MAJOR, \
+ CEPH_VERSION_MINOR, CEPH_VERSION_PATCH)
/*
* subprotocol versions. when specific messages types or high-level
#define ceph_file_layout_pg_preferred(l) \
((__s32)le32_to_cpu((l).fl_pg_preferred))
#define ceph_file_layout_pg_pool(l) \
- ((__s32)le32_to_cpu((l).fl_pg_pool))
+ ((__s32)le32_to_cpu((l).fl_pg_pool))
#define ceph_file_layout_stripe_width(l) (le32_to_cpu((l).fl_stripe_unit) * \
le32_to_cpu((l).fl_stripe_count))
#define CEPH_MDS_STATE_BOOT -4 /* up, boot announcement. */
#define CEPH_MDS_STATE_STANDBY -5 /* up, idle. waiting for assignment. */
#define CEPH_MDS_STATE_CREATING -6 /* up, creating MDS instance. */
-#define CEPH_MDS_STATE_STARTING -7 /* up, starting previously stopped mds. */
+#define CEPH_MDS_STATE_STARTING -7 /* up, starting previously stopped mds */
#define CEPH_MDS_STATE_STANDBY_REPLAY -8 /* up, tailing active node's journal */
#define CEPH_MDS_STATE_REPLAY 8 /* up, replaying journal. */
-// -*- mode:C; tab-width:8; c-basic-offset:8; indent-tabs-mode:t -*-
-// vim: ts=8 sw=8 smarttab
-
#ifndef __RADOS_H
#define __RADOS_H
CEPH_OSD_OP_SETTRUNC = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 8,
CEPH_OSD_OP_TRIMTRUNC = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 9,
- CEPH_OSD_OP_TMAPUP = CEPH_OSD_OP_MODE_RMW | CEPH_OSD_OP_TYPE_DATA | 10,
- CEPH_OSD_OP_TMAPPUT = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 11,
- CEPH_OSD_OP_TMAPGET = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 12,
+ CEPH_OSD_OP_TMAPUP = CEPH_OSD_OP_MODE_RMW | CEPH_OSD_OP_TYPE_DATA | 10,
+ CEPH_OSD_OP_TMAPPUT = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 11,
+ CEPH_OSD_OP_TMAPGET = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 12,
- CEPH_OSD_OP_CREATE = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 13,
+ CEPH_OSD_OP_CREATE = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 13,
/** attrs **/
/* read */
struct {
__le64 pgls_cookie, count;
} __attribute__ ((packed));
- struct {
+ struct {
__le32 flags;
} __attribute__ ((packed));
};
* appropriate.
*
* CHECK_CAPS_NODELAY - caller is delayed work and we should not delay
- * cap release further.
+ * cap release further.
* CHECK_CAPS_AUTHONLY - we should only check the auth cap
* CHECK_CAPS_FLUSH - we should flush any dirty caps immediately, without
* further delay.
dout("get_cap_refs %p need %s want %s\n", inode,
ceph_cap_string(need), ceph_cap_string(want));
spin_lock(&inode->i_lock);
-
+
/* make sure we _have_ some caps! */
if (!__ceph_is_any_caps(ci)) {
dout("get_cap_refs %p no real caps\n", inode);
# else
/* faux printk call just to see any compiler warnings. */
# define dout(fmt, ...) do { \
- if (0) printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
+ if (0) \
+ printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
} while (0)
# endif
break;
nexttid = req->r_tid + 1;
- if (req->r_request) {
+ if (req->r_request)
seq_printf(s, "%lld\tmds%d\t", req->r_tid, req->r_mds);
- } else {
+ else
seq_printf(s, "%lld\t(no request)\t", req->r_tid);
- }
seq_printf(s, "%s", ceph_mds_op_name(req->r_op));
dout("dir_fsync %p wait on tid %llu (until %llu)\n",
inode, req->r_tid, last_tid);
if (req->r_timeout) {
- ret = wait_for_completion_timeout(&req->r_safe_completion,
- req->r_timeout);
+ ret = wait_for_completion_timeout(
+ &req->r_safe_completion, req->r_timeout);
if (ret > 0)
ret = 0;
else if (ret == 0)
type = 1;
} else {
return -ENOSPC;
- }
+ }
return type;
}
(l.stripe_unit & ~PAGE_MASK) ||
!l.stripe_unit ||
(l.object_size &&
- (unsigned)l.object_size % (unsigned)l.stripe_unit))
+ (unsigned)l.object_size % (unsigned)l.stripe_unit))
return -EINVAL;
/* make sure it's a valid data pool */
if (req->r_dentry)
dput(req->r_dentry);
if (req->r_old_dentry) {
- ceph_put_cap_refs(ceph_inode(req->r_old_dentry->d_parent->d_inode),
- CEPH_CAP_PIN);
+ ceph_put_cap_refs(
+ ceph_inode(req->r_old_dentry->d_parent->d_inode),
+ CEPH_CAP_PIN);
dput(req->r_old_dentry);
}
kfree(req->r_path1);
}
mds = cap->session->s_mds;
dout("choose_mds %p %llx.%llx mds%d (%scap %p)\n",
- inode, ceph_vinop(inode), mds,
+ inode, ceph_vinop(inode), mds,
cap == ci->i_auth_cap ? "auth " : "", cap);
spin_unlock(&inode->i_lock);
return mds;
pr_info("ceph mds%d caps renewed\n", session->s_mds);
wake = 1;
} else {
- pr_info("ceph mds%d caps still stale\n",session->s_mds);
+ pr_info("ceph mds%d caps still stale\n",
+ session->s_mds);
}
}
dout("renewed_caps mds%d ttl now %lu, was %s, now %s\n",
if (req->r_locked_dir)
ceph_get_cap_refs(ceph_inode(req->r_locked_dir), CEPH_CAP_PIN);
if (req->r_old_dentry)
- ceph_get_cap_refs(ceph_inode(req->r_old_dentry->d_parent->d_inode),
- CEPH_CAP_PIN);
+ ceph_get_cap_refs(
+ ceph_inode(req->r_old_dentry->d_parent->d_inode),
+ CEPH_CAP_PIN);
/* issue */
mutex_lock(&mdsc->mutex);
mutex_lock(&mdsc->mutex);
/* FIXME: this ttl calculation is generous */
session->s_ttl = jiffies + HZ*mdsc->mdsmap->m_session_autoclose;
- mutex_unlock(&mdsc->mutex);
+ mutex_unlock(&mdsc->mutex);
mutex_lock(&session->s_mutex);
atomic_read(&s->s_ref) - 1, atomic_read(&s->s_ref));
return con;
}
- dout("mdsc con_get %p FAIL\n", s);
+ dout("mdsc con_get %p FAIL\n", s);
return NULL;
}
extern struct ceph_mds_session *
__ceph_lookup_mds_session(struct ceph_mds_client *, int mds);
-inline static struct ceph_mds_session *
+static inline struct ceph_mds_session *
ceph_get_mds_session(struct ceph_mds_session *s)
{
atomic_inc(&s->s_ref);
{
struct ceph_osd *osd = con->private;
struct ceph_osd_client *osdc;
-
+
if (!osd)
return;
dout("osd_reset osd%d\n", osd->o_osd);
*
* caller must hold snap_rwsem for write.
*/
-static struct ceph_snap_realm *ceph_create_snap_realm(struct ceph_mds_client *mdsc,
- u64 ino)
+static struct ceph_snap_realm *ceph_create_snap_realm(
+ struct ceph_mds_client *mdsc,
+ u64 ino)
{
struct ceph_snap_realm *realm;
const char *ceph_file_part(const char *s, int len)
{
const char *e = s + len;
-
+
while (e != s && *(e-1) != '/')
e--;
return e;
return err;
/* build initial monmap */
- client->monc.monmap = kzalloc(sizeof(*client->monc.monmap) +
+ client->monc.monmap = kzalloc(sizeof(*client->monc.monmap) +
num_mon*sizeof(client->monc.monmap->mon_inst[0]),
GFP_KERNEL);
if (!client->monc.monmap)