summaryrefslogtreecommitdiffstats
path: root/src/server/server.c
diff options
context:
space:
mode:
authorJohann Latocha2012-01-20 14:30:07 +0100
committerJohann Latocha2012-01-20 14:30:07 +0100
commiteeec0aa91fafefc3d55ebddf04b94a3bfc9e20bc (patch)
treeae486a7e58ab50a17909be5ae31809cc9ed3b613 /src/server/server.c
parentFirst working version :) (diff)
downloaddnbd3-eeec0aa91fafefc3d55ebddf04b94a3bfc9e20bc.tar.gz
dnbd3-eeec0aa91fafefc3d55ebddf04b94a3bfc9e20bc.tar.xz
dnbd3-eeec0aa91fafefc3d55ebddf04b94a3bfc9e20bc.zip
Support files > 4GB
Diffstat (limited to 'src/server/server.c')
-rw-r--r--src/server/server.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server/server.c b/src/server/server.c
index dfa53d7..7f62a53 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -20,6 +20,7 @@
#include "../version.h"
int file;
+off_t filesize;
void print_help(char* argv_0)
{
@@ -50,10 +51,6 @@ void *handle_query(void *client_socket)
struct dnbd3_request request;
struct dnbd3_reply reply;
uint16_t cmd;
- off_t filesize;
- struct stat st;
- fstat(file, &st);
- filesize = st.st_size;
while (recv(sock, &request, sizeof(struct dnbd3_request), MSG_WAITALL) > 0)
{
@@ -107,6 +104,9 @@ int main(int argc, char* argv[])
{
case 'f':
file = open(optarg, O_RDONLY);
+ struct stat st;
+ fstat(file, &st);
+ filesize = st.st_size;
break;
case 'h':
print_help(argv[0]);
@@ -154,6 +154,7 @@ int main(int argc, char* argv[])
exit(EXIT_FAILURE);
}
+ printf("INFO: Filesize: %llu bytes\n", filesize);
printf("INFO: Server is ready...\n");
while (1)