Client stuck 'waiting on max_size'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have a simple libcephfs client (code attached) that:

1) mounts ceph
2) opens/create a file
3) writes 1K

But gets stuck on the write. The client log repeats the following over and over. (c code for test appended).

Thanks,
Noah


2011-12-06 19:50:23.329501 7ff3a7023700 client.6154  cap mds.0 issued pAsLsXsFscr implemented pAsLsXsFscr revoking -
2011-12-06 19:50:37.330474 7ff3a7023700 client.6154 renew_caps()
2011-12-06 19:50:37.330536 7ff3a7023700 client.6154 renew_caps requesting from mds.0
2011-12-06 19:50:37.330549 7ff3a7023700 client.6154 renew_caps mds.0
2011-12-06 19:50:37.331304 7ff3a6021700 client.6154 handle_client_session client_session(renewcaps seq 4) v1
2011-12-06 19:50:37.331357 7ff3a9eb7760 client.6154 waiting on max_size, endoff 1024 max_size 0
2011-12-06 19:50:57.331975 7ff3a7023700 client.6154 renew_caps()
2011-12-06 19:50:57.332021 7ff3a7023700 client.6154 renew_caps requesting from mds.0
2011-12-06 19:50:57.332036 7ff3a7023700 client.6154 renew_caps mds.0
2011-12-06 19:50:57.332757 7ff3a6021700 client.6154 handle_client_session client_session(renewcaps seq 5) v1
2011-12-06 19:50:57.332809 7ff3a9eb7760 client.6154 waiting on max_size, endoff 1024 max_size 0
2011-12-06 19:51:17.333445 7ff3a7023700 client.6154 renew_caps()
2011-12-06 19:51:17.333492 7ff3a7023700 client.6154 renew_caps requesting from mds.0
2011-12-06 19:51:17.333507 7ff3a7023700 client.6154 renew_caps mds.0
2011-12-06 19:51:17.334220 7ff3a6021700 client.6154 handle_client_session client_session(renewcaps seq 6) v1
2011-12-06 19:51:17.334274 7ff3a9eb7760 client.6154 waiting on max_size, endoff 1024 max_size 0
2011-12-06 19:51:37.334880 7ff3a7023700 client.6154 renew_caps()
2011-12-06 19:51:37.334927 7ff3a7023700 client.6154 renew_caps requesting from mds.0
2011-12-06 19:51:37.334941 7ff3a7023700 client.6154 renew_caps mds.0
2011-12-06 19:51:37.335657 7ff3a6021700 client.6154 handle_client_session client_session(renewcaps seq 7) v1
2011-12-06 19:51:37.335707 7ff3a9eb7760 client.6154 waiting on max_size, endoff 1024 max_size 0
2011-12-06 19:51:57.336312 7ff3a7023700 client.6154 renew_caps()
2011-12-06 19:51:57.336356 7ff3a7023700 client.6154 renew_caps requesting from mds.0
2011-12-06 19:51:57.336370 7ff3a7023700 client.6154 renew_caps mds.0
2011-12-06 19:51:57.337057 7ff3a6021700 client.6154 handle_client_session client_session(renewcaps seq 8) v1
2011-12-06 19:51:57.337109 7ff3a9eb7760 client.6154 waiting on max_size, endoff 1024 max_size 0
2011-12-06 19:52:17.337745 7ff3a7023700 client.6154 renew_caps()
2011-12-06 19:52:17.337791 7ff3a7023700 client.6154 renew_caps requesting from mds.0
2011-12-06 19:52:17.337805 7ff3a7023700 client.6154 renew_caps mds.0
2011-12-06 19:52:17.338499 7ff3a6021700 client.6154 handle_client_session client_session(renewcaps seq 9) v1
2011-12-06 19:52:17.338550 7ff3a9eb7760 client.6154 waiting on max_size, endoff 1024 max_size 0
2011-12-06 19:52:37.339187 7ff3a7023700 client.6154 renew_caps()
2011-12-06 19:52:37.339236 7ff3a7023700 client.6154 renew_caps requesting from mds.0
2011-12-06 19:52:37.339250 7ff3a7023700 client.6154 renew_caps mds.0
2011-12-06 19:52:37.339968 7ff3a6021700 client.6154 handle_client_session client_session(renewcaps seq 10) v1
2011-12-06 19:52:37.340015 7ff3a9eb7760 client.6154 waiting on max_size, endoff 1024 max_size 0


=============

#define _FILE_OFFSET_BITS 64
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cephfs/libcephfs.h>

#define MB64 (1<<26)

int main(int argc, const char **argv)
{
	struct ceph_mount_info *cmount;
	int ret, fd, len;
	char buf[1024];

	if (argc < 3) {
		fprintf(stderr, "usage: ./%s <conf> <file>\n", argv[0]);
		exit(1);
	}

	ret = ceph_create(&cmount, NULL);
	if (ret) {
		fprintf(stderr, "ceph_create=%d\n", ret);
		exit(1);
	}

	ret = ceph_conf_read_file(cmount, argv[1]);
	if (ret) {
		fprintf(stderr, "ceph_conf_read_file=%d\n", ret);
		exit(1);
	}

	ret = ceph_conf_parse_argv(cmount, argc, argv);
	if (ret) {
		fprintf(stderr, "ceph_conf_parse_argv=%d\n", ret);
		exit(1);
	}

	ret = ceph_mount(cmount, NULL);
	if (ret) {
		fprintf(stderr, "ceph_mount=%d\n", ret);
		exit(1);
	}

	ret = ceph_chdir(cmount, "/");
	if (ret) {
		fprintf(stderr, "ceph_chdir=%d\n", ret);
		exit(1);
	}

	fd = ceph_open(cmount, argv[2], O_CREAT|O_TRUNC, 0777);	
	if (fd < 0) {
		fprintf(stderr, "ceph_open=%d\n", fd);
		exit(1);
	}

	memset(buf, 'a', sizeof(buf));

	len = ceph_write(cmount, fd, buf, sizeof(buf), 0);

	fprintf(stdout, "wrote %d bytes\n", len);

	ceph_shutdown(cmount);

	return 0;
}
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux