mirror of
https://github.com/XTXMarkets/ternfs.git
synced 2025-12-21 10:40:04 -06:00
ETIMEDOUT on zero response
The expected behavior is not really documented, but this seems to be what is happening.
This commit is contained in:
@@ -110,6 +110,7 @@ int eggsfs_create_shuckle_socket(atomic64_t* addr1, atomic64_t* addr2, struct so
|
||||
iov.iov_base = resp_header + read_so_far;
|
||||
iov.iov_len = sizeof(resp_header) - read_so_far;
|
||||
int read = kernel_recvmsg(*sock, &msg, &iov, 1, iov.iov_len, 0);
|
||||
if (read == 0) { err = -ETIMEDOUT; goto out_sock; }
|
||||
if (read < 0) { err = read; goto out_sock; }
|
||||
read_so_far += read;
|
||||
}
|
||||
@@ -127,6 +128,7 @@ int eggsfs_create_shuckle_socket(atomic64_t* addr1, atomic64_t* addr2, struct so
|
||||
iov.iov_base = (char*)&resp + read_so_far;
|
||||
iov.iov_len = sizeof(resp) - read_so_far;
|
||||
int read = kernel_recvmsg(*sock, &msg, &iov, 1, iov.iov_len, 0);
|
||||
if (read == 0) { err = -ETIMEDOUT; goto out_sock; }
|
||||
if (read < 0) { err = read; goto out_sock; }
|
||||
read_so_far += read;
|
||||
}
|
||||
|
||||
@@ -57,6 +57,7 @@ static int eggsfs_refresh_fs_info(struct eggsfs_fs_info* info) {
|
||||
iov.iov_base = shards_resp_header + read_so_far;
|
||||
iov.iov_len = sizeof(shards_resp_header) - read_so_far;
|
||||
int read = kernel_recvmsg(shuckle_sock, &msg, &iov, 1, iov.iov_len, 0);
|
||||
if (read == 0) { err = -ETIMEDOUT; goto out_sock; }
|
||||
if (read < 0) { err = read; goto out_sock; }
|
||||
read_so_far += read;
|
||||
}
|
||||
@@ -81,6 +82,7 @@ static int eggsfs_refresh_fs_info(struct eggsfs_fs_info* info) {
|
||||
iov.iov_base = shard_info_resp + read_so_far;
|
||||
iov.iov_len = sizeof(shard_info_resp) - read_so_far;
|
||||
int read = kernel_recvmsg(shuckle_sock, &msg, &iov, 1, iov.iov_len, 0);
|
||||
if (read == 0) { err = -ETIMEDOUT; goto out_sock; }
|
||||
if (read < 0) { err = read; goto out_sock; }
|
||||
read_so_far += read;
|
||||
}
|
||||
@@ -118,6 +120,7 @@ static int eggsfs_refresh_fs_info(struct eggsfs_fs_info* info) {
|
||||
iov.iov_base = cdc_resp_header + read_so_far;
|
||||
iov.iov_len = sizeof(cdc_resp_header) - read_so_far;
|
||||
int read = kernel_recvmsg(shuckle_sock, &msg, &iov, 1, iov.iov_len, 0);
|
||||
if (read == 0) { err = -ETIMEDOUT; goto out_sock; }
|
||||
if (read < 0) { err = read; goto out_sock; }
|
||||
read_so_far += read;
|
||||
}
|
||||
@@ -133,6 +136,7 @@ static int eggsfs_refresh_fs_info(struct eggsfs_fs_info* info) {
|
||||
iov.iov_base = (char*)&cdc_resp + read_so_far;
|
||||
iov.iov_len = sizeof(cdc_resp) - read_so_far;
|
||||
int read = kernel_recvmsg(shuckle_sock, &msg, &iov, 1, iov.iov_len, 0);
|
||||
if (read == 0) { err = -ETIMEDOUT; goto out_sock; }
|
||||
if (read < 0) { err = read; goto out_sock; }
|
||||
read_so_far += read;
|
||||
}
|
||||
@@ -319,6 +323,7 @@ static int eggsfs_statfs(struct dentry* dentry, struct kstatfs* stats) {
|
||||
iov.iov_base = shuckle_resp_header + read_so_far;
|
||||
iov.iov_len = sizeof(shuckle_resp_header) - read_so_far;
|
||||
int read = kernel_recvmsg(shuckle_sock, &msg, &iov, 1, iov.iov_len, 0);
|
||||
if (read == 0) { err = -ETIMEDOUT; goto out_sock; }
|
||||
if (read < 0) {
|
||||
err = read;
|
||||
eggsfs_info("could not recv msg err=%d", err);
|
||||
@@ -342,6 +347,7 @@ static int eggsfs_statfs(struct dentry* dentry, struct kstatfs* stats) {
|
||||
iov.iov_base = (char*)&shuckle_resp + read_so_far;
|
||||
iov.iov_len = sizeof(shuckle_resp) - read_so_far;
|
||||
int read = kernel_recvmsg(shuckle_sock, &msg, &iov, 1, iov.iov_len, 0);
|
||||
if (read == 0) { err = -ETIMEDOUT; goto out_sock; }
|
||||
if (read < 0) {
|
||||
err = read;
|
||||
eggsfs_info("could not recv msg err=%d", err);
|
||||
|
||||
Reference in New Issue
Block a user