make sure a write of 0 bytes does a 0-length write.
diff --git a/src/libfs/write.c b/src/libfs/write.c
index 5da27d1..e4b6253 100644
--- a/src/libfs/write.c
+++ b/src/libfs/write.c
@@ -43,16 +43,18 @@
long
fspwrite(Fid *fid, void *buf, long n, vlong offset)
{
- long tot, want, got;
+ long tot, want, got, first;
uint msize;
msize = fid->fs->msize - IOHDRSZ;
tot = 0;
- while(tot < n){
+ first = 1;
+ while(tot < n || first){
want = n - tot;
if(want > msize)
want = msize;
got = _fspwrite(fid, buf, want, offset);
+ first = 0;
if(got < 0){
if(tot == 0)
return got;