Loading fs/ceph/ceph_fs.h +5 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,11 @@ struct ceph_mon_subscribe_item { __u8 onetime; } __attribute__ ((packed)); struct ceph_mon_subscribe_ack { __le32 duration; /* seconds */ struct ceph_fsid fsid; } __attribute__ ((packed)); /* * mds states * > 0 -> in Loading fs/ceph/mon_client.c +7 −4 Original line number Diff line number Diff line Loading @@ -199,10 +199,12 @@ static void handle_subscribe_ack(struct ceph_mon_client *monc, struct ceph_msg *msg) { unsigned seconds; void *p = msg->front.iov_base; void *end = p + msg->front.iov_len; struct ceph_mon_subscribe_ack *h = msg->front.iov_base; if (msg->front.iov_len < sizeof(*h)) goto bad; seconds = le32_to_cpu(h->duration); ceph_decode_32_safe(&p, end, seconds, bad); mutex_lock(&monc->mutex); if (monc->hunting) { pr_info("mon%d %s session established\n", Loading Loading @@ -541,7 +543,8 @@ int ceph_monc_init(struct ceph_mon_client *monc, struct ceph_client *cl) err = ceph_msgpool_init(&monc->msgpool_mount_ack, 4096, 1, false); if (err < 0) goto out; err = ceph_msgpool_init(&monc->msgpool_subscribe_ack, 8, 1, false); err = ceph_msgpool_init(&monc->msgpool_subscribe_ack, sizeof(struct ceph_mon_subscribe_ack), 1, false); if (err < 0) goto out; err = ceph_msgpool_init(&monc->msgpool_statfs_reply, Loading Loading
fs/ceph/ceph_fs.h +5 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,11 @@ struct ceph_mon_subscribe_item { __u8 onetime; } __attribute__ ((packed)); struct ceph_mon_subscribe_ack { __le32 duration; /* seconds */ struct ceph_fsid fsid; } __attribute__ ((packed)); /* * mds states * > 0 -> in Loading
fs/ceph/mon_client.c +7 −4 Original line number Diff line number Diff line Loading @@ -199,10 +199,12 @@ static void handle_subscribe_ack(struct ceph_mon_client *monc, struct ceph_msg *msg) { unsigned seconds; void *p = msg->front.iov_base; void *end = p + msg->front.iov_len; struct ceph_mon_subscribe_ack *h = msg->front.iov_base; if (msg->front.iov_len < sizeof(*h)) goto bad; seconds = le32_to_cpu(h->duration); ceph_decode_32_safe(&p, end, seconds, bad); mutex_lock(&monc->mutex); if (monc->hunting) { pr_info("mon%d %s session established\n", Loading Loading @@ -541,7 +543,8 @@ int ceph_monc_init(struct ceph_mon_client *monc, struct ceph_client *cl) err = ceph_msgpool_init(&monc->msgpool_mount_ack, 4096, 1, false); if (err < 0) goto out; err = ceph_msgpool_init(&monc->msgpool_subscribe_ack, 8, 1, false); err = ceph_msgpool_init(&monc->msgpool_subscribe_ack, sizeof(struct ceph_mon_subscribe_ack), 1, false); if (err < 0) goto out; err = ceph_msgpool_init(&monc->msgpool_statfs_reply, Loading