summaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
Diffstat (limited to 'support')
-rw-r--r--support/include/nfslib.h2
-rw-r--r--support/nfs/cacheio.c4
-rw-r--r--support/nfs/nfsexport.c9
3 files changed, 8 insertions, 7 deletions
diff --git a/support/include/nfslib.h b/support/include/nfslib.h
index 3e25761..aba37c2 100644
--- a/support/include/nfslib.h
+++ b/support/include/nfslib.h
@@ -132,7 +132,7 @@ struct nfs_fh_len * getfh_size(struct sockaddr *addr, const char *, int size);
void qword_print(FILE *f, char *str);
void qword_printhex(FILE *f, char *str, int slen);
void qword_printint(FILE *f, int num);
-void qword_eol(FILE *f);
+int qword_eol(FILE *f);
int readline(int fd, char **buf, int *lenp);
int qword_get(char **bpp, char *dest, int bufsize);
int qword_get_int(char **bpp, int *anint);
diff --git a/support/nfs/cacheio.c b/support/nfs/cacheio.c
index 3e868d8..36473cf 100644
--- a/support/nfs/cacheio.c
+++ b/support/nfs/cacheio.c
@@ -109,10 +109,10 @@ void qword_printint(FILE *f, int num)
fprintf(f, "%d ", num);
}
-void qword_eol(FILE *f)
+int qword_eol(FILE *f)
{
fprintf(f,"\n");
- fflush(f);
+ return fflush(f);
}
diff --git a/support/nfs/nfsexport.c b/support/nfs/nfsexport.c
index aa0e49b..f129fd2 100644
--- a/support/nfs/nfsexport.c
+++ b/support/nfs/nfsexport.c
@@ -38,6 +38,7 @@ exp_unexp(struct nfsctl_export *exp, int export)
char fsidstr[8];
__u16 dev;
__u32 inode;
+ int err;
f = fopen("/proc/net/rpc/nfsd.export/channel", "w");
@@ -53,7 +54,7 @@ exp_unexp(struct nfsctl_export *exp, int export)
} else
qword_printint(f, 1);
- qword_eol(f);
+ err = qword_eol(f);
fclose(f);
if (stat(exp->ex_path, &stb) != 0)
@@ -71,7 +72,7 @@ exp_unexp(struct nfsctl_export *exp, int export)
} else
qword_printint(f, 1);
- qword_eol(f);
+ err = qword_eol(f) || err;
}
qword_print(f,exp->ex_client);
qword_printint(f,0);
@@ -85,9 +86,9 @@ exp_unexp(struct nfsctl_export *exp, int export)
qword_print(f, exp->ex_path);
} else
qword_printint(f, 1);
- qword_eol(f);
+ err = qword_eol(f) || err;
fclose(f);
- return 0;
+ return err;
}
int