aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMark Glines <mark@glines.org>2002-03-17 06:58:33 +0000
committerMark Glines <mark@glines.org>2002-03-17 06:58:33 +0000
commit85801bbad1b3f1160bd35608f30048faa8d94995 (patch)
tree3cf670052dc61d8ec2da79c21047bc41c1db6b23 /lib
parent3e3d081d28ff60331d791ae9bc4e1f8d98701d86 (diff)
downloadlibfuse-85801bbad1b3f1160bd35608f30048faa8d94995.tar.gz
'struct statfs' changes size, and entries within it change position, depending
on which headerfiles are included and which macros are defined. Because its unreliable, we now use struct fuse_statfs everywhere except in the kernel. Also fixed some perl fuse_main semantics - it now works much better when multithreading is disabled.
Diffstat (limited to 'lib')
-rw-r--r--lib/fuse.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/lib/fuse.c b/lib/fuse.c
index 63dadf5..2ac7386 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -306,16 +306,6 @@ static void convert_stat(struct stat *stbuf, struct fuse_attr *attr)
attr->_dummy = 4096;
}
-static void convert_statfs(struct statfs *st, struct fuse_statfs *fst)
-{
- fst->block_size = st->f_bsize;
- fst->blocks = st->f_blocks;
- fst->blocks_free = st->f_bavail;
- fst->files = st->f_files;
- fst->files_free = st->f_ffree;
- fst->namelen = st->f_namelen;
-}
-
static int fill_dir(struct fuse_dirhandle *dh, char *name, int type)
{
struct fuse_dirent dirent;
@@ -806,14 +796,11 @@ static void do_write(struct fuse *f, struct fuse_in_header *in,
static void do_statfs(struct fuse *f, struct fuse_in_header *in)
{
int res;
- struct statfs sbuf;
struct fuse_statfs_out arg;
res = -ENOSYS;
if(f->op.statfs)
- res = f->op.statfs(&sbuf);
- if(res == 0)
- convert_statfs(&sbuf,&arg.st);
+ res = f->op.statfs(&arg.st);
send_reply(f, in, res, &arg, sizeof(arg));
}