summaryrefslogtreecommitdiffstats
path: root/src/libfs/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libfs/write.c')
-rw-r--r--src/libfs/write.c74
1 files changed, 0 insertions, 74 deletions
diff --git a/src/libfs/write.c b/src/libfs/write.c
deleted file mode 100644
index e4b6253d..00000000
--- a/src/libfs/write.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright (C) 2003 Russ Cox, Massachusetts Institute of Technology */
-/* See COPYRIGHT */
-
-#include <u.h>
-#include <libc.h>
-#include <fcall.h>
-#include <fs.h>
-#include "fsimpl.h"
-
-static long
-_fspwrite(Fid *fid, void *buf, long n, vlong offset)
-{
- Fcall tx, rx;
- void *freep;
-
- tx.type = Twrite;
- tx.fid = fid->fid;
- if(offset == -1){
- qlock(&fid->lk);
- tx.offset = fid->offset;
- qunlock(&fid->lk);
- }else
- tx.offset = offset;
- tx.count = n;
- tx.data = buf;
-
- if(fsrpc(fid->fs, &tx, &rx, &freep) < 0)
- return -1;
- if(rx.type == Rerror){
- werrstr("%s", rx.ename);
- free(freep);
- return -1;
- }
- if(offset == -1 && rx.count){
- qlock(&fid->lk);
- fid->offset += rx.count;
- qunlock(&fid->lk);
- }
- free(freep);
- return rx.count;
-}
-
-long
-fspwrite(Fid *fid, void *buf, long n, vlong offset)
-{
- long tot, want, got, first;
- uint msize;
-
- msize = fid->fs->msize - IOHDRSZ;
- tot = 0;
- 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;
- break;
- }
- tot += got;
- if(offset != -1)
- offset += got;
- }
- return tot;
-}
-
-long
-fswrite(Fid *fid, void *buf, long n)
-{
- return fspwrite(fid, buf, n, -1);
-}