Module Name: src
Committed By: christos
Date: Mon Sep 23 12:00:58 UTC 2019
Modified Files:
src/lib/libp2k: p2k.c
src/lib/libperfuse: ops.c perfuse_priv.h
src/lib/libpuffs: null.c puffs.h subr.c
src/lib/librefuse: refuse.c
src/sys/fs/puffs: puffs_msgif.h puffs_vfsops.c
src/tests/fs/puffs/h_dtfs: dtfs_vfsops.c
src/usr.sbin/puffs/mount_psshfs: fs.c
Log Message:
Restore binary compatibility by using the statvfs90 structure internally.
To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 src/lib/libp2k/p2k.c
cvs rdiff -u -r1.87 -r1.88 src/lib/libperfuse/ops.c
cvs rdiff -u -r1.37 -r1.38 src/lib/libperfuse/perfuse_priv.h
cvs rdiff -u -r1.33 -r1.34 src/lib/libpuffs/null.c
cvs rdiff -u -r1.127 -r1.128 src/lib/libpuffs/puffs.h
cvs rdiff -u -r1.27 -r1.28 src/lib/libpuffs/subr.c
cvs rdiff -u -r1.100 -r1.101 src/lib/librefuse/refuse.c
cvs rdiff -u -r1.84 -r1.85 src/sys/fs/puffs/puffs_msgif.h
cvs rdiff -u -r1.121 -r1.122 src/sys/fs/puffs/puffs_vfsops.c
cvs rdiff -u -r1.3 -r1.4 src/tests/fs/puffs/h_dtfs/dtfs_vfsops.c
cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/puffs/mount_psshfs/fs.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libp2k/p2k.c
diff -u src/lib/libp2k/p2k.c:1.70 src/lib/libp2k/p2k.c:1.71
--- src/lib/libp2k/p2k.c:1.70 Tue Apr 25 23:02:48 2017
+++ src/lib/libp2k/p2k.c Mon Sep 23 08:00:57 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: p2k.c,v 1.70 2017/04/26 03:02:48 riastradh Exp $ */
+/* $NetBSD: p2k.c,v 1.71 2019/09/23 12:00:57 christos Exp $ */
/*
* Copyright (c) 2007, 2008, 2009 Antti Kantee. All Rights Reserved.
@@ -157,7 +157,7 @@ static volatile sig_atomic_t dodump;
static void
dumpmp(struct puffs_usermount *pu)
{
- struct statvfs svfsb;
+ struct puffs_statvfs svfsb;
if (dodump && p2k_fs_statvfs(pu, &svfsb) == 0) {
rump_pub_vfs_mount_print(svfsb.f_mntonname, dodump-1);
@@ -586,12 +586,14 @@ p2k_setup_diskfs(struct p2k_mount *p2m,
}
int
-p2k_fs_statvfs(struct puffs_usermount *pu, struct statvfs *sbp)
+p2k_fs_statvfs(struct puffs_usermount *pu, struct puffs_statvfs *sbp)
{
struct p2k_mount *p2m = puffs_getspecific(pu);
struct mount *mp = p2m->p2m_mp;
+ struct statvfs sb;
+ puffs_statvfs_to_statvfs(sbp, &sb);
- return rump_pub_vfs_statvfs(mp, sbp);
+ return rump_pub_vfs_statvfs(mp, &sb);
}
/*ARGSUSED*/
@@ -606,7 +608,7 @@ p2k_fs_unmount(struct puffs_usermount *p
if (fs) {
if (ukfs_release(fs, 0) != 0) {
- struct statvfs svfsb;
+ struct puffs_statvfs svfsb;
if (p2m->p2m_hasdebug
&& p2k_fs_statvfs(pu, &svfsb) == 0) {
Index: src/lib/libperfuse/ops.c
diff -u src/lib/libperfuse/ops.c:1.87 src/lib/libperfuse/ops.c:1.88
--- src/lib/libperfuse/ops.c:1.87 Sat Aug 10 03:08:11 2019
+++ src/lib/libperfuse/ops.c Mon Sep 23 08:00:57 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: ops.c,v 1.87 2019/08/10 07:08:11 manu Exp $ */
+/* $NetBSD: ops.c,v 1.88 2019/09/23 12:00:57 christos Exp $ */
/*-
* Copyright (c) 2010-2011 Emmanuel Dreyfus. All rights reserved.
@@ -955,7 +955,7 @@ perfuse_fs_unmount(struct puffs_usermoun
}
int
-perfuse_fs_statvfs(struct puffs_usermount *pu, struct statvfs *svfsb)
+perfuse_fs_statvfs(struct puffs_usermount *pu, struct puffs_statvfs *svfsb)
{
struct perfuse_state *ps;
perfuse_msg_t *pm;
Index: src/lib/libperfuse/perfuse_priv.h
diff -u src/lib/libperfuse/perfuse_priv.h:1.37 src/lib/libperfuse/perfuse_priv.h:1.38
--- src/lib/libperfuse/perfuse_priv.h:1.37 Thu Nov 15 21:39:02 2018
+++ src/lib/libperfuse/perfuse_priv.h Mon Sep 23 08:00:57 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: perfuse_priv.h,v 1.37 2018/11/16 02:39:02 manu Exp $ */
+/* $NetBSD: perfuse_priv.h,v 1.38 2019/09/23 12:00:57 christos Exp $ */
/*-
* Copyright (c) 2010-2011 Emmanuel Dreyfus. All rights reserved.
@@ -195,7 +195,7 @@ char *perfuse_fs_mount(int, ssize_t);
* ops.c - filesystem operations
*/
int perfuse_fs_unmount(struct puffs_usermount *, int);
-int perfuse_fs_statvfs(struct puffs_usermount *, struct statvfs *);
+int perfuse_fs_statvfs(struct puffs_usermount *, struct puffs_statvfs *);
int perfuse_fs_sync(struct puffs_usermount *, int,
const struct puffs_cred *);
int perfuse_fs_fhtonode(struct puffs_usermount *, void *, size_t,
Index: src/lib/libpuffs/null.c
diff -u src/lib/libpuffs/null.c:1.33 src/lib/libpuffs/null.c:1.34
--- src/lib/libpuffs/null.c:1.33 Fri Nov 25 10:02:02 2011
+++ src/lib/libpuffs/null.c Mon Sep 23 08:00:57 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: null.c,v 1.33 2011/11/25 15:02:02 manu Exp $ */
+/* $NetBSD: null.c,v 1.34 2019/09/23 12:00:57 christos Exp $ */
/*
* Copyright (c) 2007 Antti Kantee. All Rights Reserved.
@@ -27,7 +27,7 @@
#include <sys/cdefs.h>
#if !defined(lint)
-__RCSID("$NetBSD: null.c,v 1.33 2011/11/25 15:02:02 manu Exp $");
+__RCSID("$NetBSD: null.c,v 1.34 2019/09/23 12:00:57 christos Exp $");
#endif /* !lint */
/*
@@ -191,11 +191,12 @@ puffs_null_setops(struct puffs_ops *pops
/*ARGSUSED*/
int
-puffs_null_fs_statvfs(struct puffs_usermount *pu, struct statvfs *svfsb)
+puffs_null_fs_statvfs(struct puffs_usermount *pu, struct puffs_statvfs *svfsb)
{
-
- if (statvfs(PNPATH(puffs_getroot(pu)), svfsb) == -1)
+ struct statvfs sb;
+ if (statvfs(PNPATH(puffs_getroot(pu)), &sb) == -1)
return errno;
+ statvfs_to_puffs_statvfs(&sb, svfsb);
return 0;
}
Index: src/lib/libpuffs/puffs.h
diff -u src/lib/libpuffs/puffs.h:1.127 src/lib/libpuffs/puffs.h:1.128
--- src/lib/libpuffs/puffs.h:1.127 Thu Nov 12 12:51:05 2015
+++ src/lib/libpuffs/puffs.h Mon Sep 23 08:00:57 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: puffs.h,v 1.127 2015/11/12 17:51:05 christos Exp $ */
+/* $NetBSD: puffs.h,v 1.128 2019/09/23 12:00:57 christos Exp $ */
/*
* Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved.
@@ -162,7 +162,8 @@ extern const struct mntopt puffsmopts[];
/* callbacks for operations */
struct puffs_ops {
int (*puffs_fs_unmount)(struct puffs_usermount *, int);
- int (*puffs_fs_statvfs)(struct puffs_usermount *, struct statvfs *);
+ int (*puffs_fs_statvfs)(struct puffs_usermount *,
+ struct puffs_statvfs *);
int (*puffs_fs_sync)(struct puffs_usermount *, int,
const struct puffs_cred *);
int (*puffs_fs_fhtonode)(struct puffs_usermount *, void *, size_t,
@@ -316,7 +317,7 @@ enum {
#define PUFFSOP_PROTOS(fsname) \
int fsname##_fs_unmount(struct puffs_usermount *, int); \
int fsname##_fs_statvfs(struct puffs_usermount *, \
- struct statvfs *); \
+ struct puffs_statvfs *); \
int fsname##_fs_sync(struct puffs_usermount *, int, \
const struct puffs_cred *cred); \
int fsname##_fs_fhtonode(struct puffs_usermount *, void *, \
@@ -559,8 +560,8 @@ int puffs_dispatch_exec(struct puffs_c
* generic/dummy routines applicable for some file systems
*/
int puffs_fsnop_unmount(struct puffs_usermount *, int);
-int puffs_fsnop_statvfs(struct puffs_usermount *, struct statvfs *);
-void puffs_zerostatvfs(struct statvfs *);
+int puffs_fsnop_statvfs(struct puffs_usermount *, struct puffs_statvfs *);
+void puffs_zerostatvfs(struct puffs_statvfs *);
int puffs_fsnop_sync(struct puffs_usermount *, int waitfor,
const struct puffs_cred *);
Index: src/lib/libpuffs/subr.c
diff -u src/lib/libpuffs/subr.c:1.27 src/lib/libpuffs/subr.c:1.28
--- src/lib/libpuffs/subr.c:1.27 Thu Feb 17 12:55:36 2011
+++ src/lib/libpuffs/subr.c Mon Sep 23 08:00:57 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: subr.c,v 1.27 2011/02/17 17:55:36 pooka Exp $ */
+/* $NetBSD: subr.c,v 1.28 2019/09/23 12:00:57 christos Exp $ */
/*
* Copyright (c) 2006 Antti Kantee. All Rights Reserved.
@@ -27,7 +27,7 @@
#include <sys/cdefs.h>
#if !defined(lint)
-__RCSID("$NetBSD: subr.c,v 1.27 2011/02/17 17:55:36 pooka Exp $");
+__RCSID("$NetBSD: subr.c,v 1.28 2019/09/23 12:00:57 christos Exp $");
#endif /* !lint */
#include <sys/types.h>
@@ -99,7 +99,7 @@ puffs_fsnop_sync(struct puffs_usermount
/*ARGSUSED*/
int
-puffs_fsnop_statvfs(struct puffs_usermount *dontuse1, struct statvfs *sbp)
+puffs_fsnop_statvfs(struct puffs_usermount *dontuse1, struct puffs_statvfs *sbp)
{
sbp->f_bsize = sbp->f_frsize = sbp->f_iosize = DEV_BSIZE;
@@ -142,7 +142,7 @@ puffs_genfs_node_reclaim(struct puffs_us
* NULLs from application code
*/
void
-puffs_zerostatvfs(struct statvfs *sbp)
+puffs_zerostatvfs(struct puffs_statvfs *sbp)
{
puffs_fsnop_statvfs(NULL, sbp);
Index: src/lib/librefuse/refuse.c
diff -u src/lib/librefuse/refuse.c:1.100 src/lib/librefuse/refuse.c:1.101
--- src/lib/librefuse/refuse.c:1.100 Wed Apr 10 17:42:52 2019
+++ src/lib/librefuse/refuse.c Mon Sep 23 08:00:57 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: refuse.c,v 1.100 2019/04/10 21:42:52 maya Exp $ */
+/* $NetBSD: refuse.c,v 1.101 2019/09/23 12:00:57 christos Exp $ */
/*
* Copyright � 2007 Alistair Crooks. All rights reserved.
@@ -31,7 +31,7 @@
#include <sys/cdefs.h>
#if !defined(lint)
-__RCSID("$NetBSD: refuse.c,v 1.100 2019/04/10 21:42:52 maya Exp $");
+__RCSID("$NetBSD: refuse.c,v 1.101 2019/09/23 12:00:57 christos Exp $");
#endif /* !lint */
#include <sys/types.h>
@@ -1100,19 +1100,21 @@ puffs_fuse_fs_sync(struct puffs_usermoun
/* ARGSUSED2 */
static int
-puffs_fuse_fs_statvfs(struct puffs_usermount *pu, struct statvfs *svfsb)
+puffs_fuse_fs_statvfs(struct puffs_usermount *pu, struct puffs_statvfs *svfsb)
{
struct fuse *fuse;
int ret;
+ struct statvfs sb;
fuse = puffs_getspecific(pu);
if (fuse->op.statfs == NULL) {
- if ((ret = statvfs(PNPATH(puffs_getroot(pu)), svfsb)) == -1) {
+ if ((ret = statvfs(PNPATH(puffs_getroot(pu)), &sb)) == -1) {
return errno;
}
} else {
- ret = fuse->op.statfs(PNPATH(puffs_getroot(pu)), svfsb);
+ ret = fuse->op.statfs(PNPATH(puffs_getroot(pu)), &sb);
}
+ statvfs_to_puffs_statvfs(&sb, svfsb);
return -ret;
}
@@ -1200,7 +1202,7 @@ int fuse_mount(struct fuse *fuse, const
struct puffs_node *pn_root;
struct refusenode *rn_root;
struct stat st;
- struct statvfs svfsb;
+ struct puffs_statvfs svfsb;
pn_root = newrn(fuse->pu);
puffs_setroot(fuse->pu, pn_root);
Index: src/sys/fs/puffs/puffs_msgif.h
diff -u src/sys/fs/puffs/puffs_msgif.h:1.84 src/sys/fs/puffs/puffs_msgif.h:1.85
--- src/sys/fs/puffs/puffs_msgif.h:1.84 Sun Feb 15 15:21:29 2015
+++ src/sys/fs/puffs/puffs_msgif.h Mon Sep 23 08:00:57 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: puffs_msgif.h,v 1.84 2015/02/15 20:21:29 manu Exp $ */
+/* $NetBSD: puffs_msgif.h,v 1.85 2019/09/23 12:00:57 christos Exp $ */
/*
* Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved.
@@ -112,6 +112,119 @@ enum {
#define PUFFS_TYPELEN (_VFS_NAMELEN - (sizeof(PUFFS_TYPEPREFIX)+1))
#define PUFFS_NAMELEN (_VFS_MNAMELEN-1)
+/* really statvfs90 */
+struct puffs_statvfs {
+ unsigned long f_flag; /* copy of mount exported flags */
+ unsigned long f_bsize; /* file system block size */
+ unsigned long f_frsize; /* fundamental file system block size */
+ unsigned long f_iosize; /* optimal file system block size */
+
+ /* The following are in units of f_frsize */
+ fsblkcnt_t f_blocks; /* number of blocks in file system, */
+ fsblkcnt_t f_bfree; /* free blocks avail in file system */
+ fsblkcnt_t f_bavail; /* free blocks avail to non-root */
+ fsblkcnt_t f_bresvd; /* blocks reserved for root */
+
+ fsfilcnt_t f_files; /* total file nodes in file system */
+ fsfilcnt_t f_ffree; /* free file nodes in file system */
+ fsfilcnt_t f_favail; /* free file nodes avail to non-root */
+ fsfilcnt_t f_fresvd; /* file nodes reserved for root */
+
+ uint64_t f_syncreads; /* count of sync reads since mount */
+ uint64_t f_syncwrites; /* count of sync writes since mount */
+
+ uint64_t f_asyncreads; /* count of async reads since mount */
+ uint64_t f_asyncwrites; /* count of async writes since mount */
+
+ fsid_t f_fsidx; /* NetBSD compatible fsid */
+ unsigned long f_fsid; /* Posix compatible fsid */
+ unsigned long f_namemax; /* maximum filename length */
+ uid_t f_owner; /* user that mounted the file system */
+
+ uint32_t f_spare[4]; /* spare space */
+
+ char f_fstypename[_VFS_NAMELEN]; /* fs type name */
+ char f_mntonname[_VFS_MNAMELEN]; /* directory on which mounted */
+ char f_mntfromname[_VFS_MNAMELEN]; /* mounted file system */
+};
+
+#ifndef _KERNEL
+#include <string.h>
+#endif
+
+static __inline void
+statvfs_to_puffs_statvfs(const struct statvfs *s, struct puffs_statvfs *ps)
+{
+ ps->f_flag = s->f_flag;
+ ps->f_bsize = s->f_bsize;
+ ps->f_frsize = s->f_frsize;
+ ps->f_iosize = s->f_iosize;
+
+ ps->f_blocks = s->f_blocks;
+ ps->f_bfree = s->f_bfree;
+ ps->f_bavail = s->f_bavail;
+ ps->f_bresvd = s->f_bresvd;
+
+ ps->f_files = s->f_files;
+ ps->f_ffree = s->f_ffree;
+ ps->f_favail = s->f_favail;
+ ps->f_fresvd = s->f_fresvd;
+
+ ps->f_syncreads = s->f_syncreads;
+ ps->f_syncwrites = s->f_syncwrites;
+
+ ps->f_asyncreads = s->f_asyncreads;
+ ps->f_asyncwrites = s->f_asyncwrites;
+
+ ps->f_fsidx = s->f_fsidx;
+ ps->f_fsid = s->f_fsid;
+ ps->f_namemax = s->f_namemax;
+ ps->f_owner = s->f_owner;
+
+ memset(ps->f_spare, 0, sizeof(ps->f_spare));
+
+ memcpy(ps->f_fstypename, s->f_fstypename, sizeof(ps->f_fstypename));
+ memcpy(ps->f_mntonname, s->f_mntonname, sizeof(ps->f_mntonname));
+ memcpy(ps->f_mntfromname, s->f_mntfromname, sizeof(ps->f_mntfromname));
+}
+
+static __inline void
+puffs_statvfs_to_statvfs(const struct puffs_statvfs *ps, struct statvfs *s)
+{
+ s->f_flag = ps->f_flag;
+ s->f_bsize = ps->f_bsize;
+ s->f_frsize = ps->f_frsize;
+ s->f_iosize = ps->f_iosize;
+
+ s->f_blocks = ps->f_blocks;
+ s->f_bfree = ps->f_bfree;
+ s->f_bavail = ps->f_bavail;
+ s->f_bresvd = ps->f_bresvd;
+
+ s->f_files = ps->f_files;
+ s->f_ffree = ps->f_ffree;
+ s->f_favail = ps->f_favail;
+ s->f_fresvd = ps->f_fresvd;
+
+ s->f_syncreads = ps->f_syncreads;
+ s->f_syncwrites = ps->f_syncwrites;
+
+ s->f_asyncreads = ps->f_asyncreads;
+ s->f_asyncwrites = ps->f_asyncwrites;
+
+ s->f_fsidx = ps->f_fsidx;
+ s->f_fsid = ps->f_fsid;
+ s->f_namemax = ps->f_namemax;
+ s->f_owner = ps->f_owner;
+
+ memset(s->f_spare, 0, sizeof(s->f_spare));
+
+ memcpy(s->f_fstypename, ps->f_fstypename, sizeof(s->f_fstypename));
+ memcpy(s->f_mntonname, ps->f_mntonname, sizeof(s->f_mntonname));
+ memcpy(s->f_mntfromname, ps->f_mntfromname, sizeof(s->f_mntfromname));
+ memset(s->f_mntfromlabel, 0, sizeof(s->f_mntfromlabel));
+}
+
/*
* Just a weak typedef for code clarity. Additionally, we have a
* more appropriate vanity type for puffs:
@@ -145,7 +258,7 @@ struct puffs_kargs {
uint64_t container;
} devunion;
- struct statvfs pa_svfsb;
+ struct puffs_statvfs pa_svfsb;
uint32_t pa_time32;
@@ -296,7 +409,7 @@ struct puffs_vfsmsg_unmount {
struct puffs_vfsmsg_statvfs {
struct puffs_req pvfsr_pr;
- struct statvfs pvfsr_sb;
+ struct puffs_statvfs pvfsr_sb;
};
struct puffs_vfsmsg_sync {
Index: src/sys/fs/puffs/puffs_vfsops.c
diff -u src/sys/fs/puffs/puffs_vfsops.c:1.121 src/sys/fs/puffs/puffs_vfsops.c:1.122
--- src/sys/fs/puffs/puffs_vfsops.c:1.121 Mon May 28 17:04:37 2018
+++ src/sys/fs/puffs/puffs_vfsops.c Mon Sep 23 08:00:57 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: puffs_vfsops.c,v 1.121 2018/05/28 21:04:37 chs Exp $ */
+/* $NetBSD: puffs_vfsops.c,v 1.122 2019/09/23 12:00:57 christos Exp $ */
/*
* Copyright (c) 2005, 2006 Antti Kantee. All Rights Reserved.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: puffs_vfsops.c,v 1.121 2018/05/28 21:04:37 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: puffs_vfsops.c,v 1.122 2019/09/23 12:00:57 christos Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -216,8 +216,12 @@ puffs_vfsop_mount(struct mount *mp, cons
* after VFS_MOUNT() because we'd deadlock, so handle it
* here already.
*/
- copy_statvfs_info(&args->pa_svfsb, mp);
- (void)memcpy(&mp->mnt_stat, &args->pa_svfsb, sizeof(mp->mnt_stat));
+ struct statvfs *sb = STATVFSBUF_GET();
+ puffs_statvfs_to_statvfs(&args->pa_svfsb, sb);
+ copy_statvfs_info(sb, mp);
+ STATVFSBUF_PUT(sb);
+
+ statvfs_to_puffs_statvfs(&mp->mnt_stat, &args->pa_svfsb);
KASSERT(curlwp != uvm.pagedaemon_lwp);
pmp = kmem_zalloc(sizeof(struct puffs_mount), KM_SLEEP);
@@ -498,9 +502,11 @@ puffs_vfsop_statvfs(struct mount *mp, st
* XXX: cache the copy in non-error case
*/
if (!error) {
- copy_statvfs_info(&statvfs_msg->pvfsr_sb, mp);
- (void)memcpy(sbp, &statvfs_msg->pvfsr_sb,
- sizeof(struct statvfs));
+ struct statvfs *sb = STATVFSBUF_GET();
+ puffs_statvfs_to_statvfs(&statvfs_msg->pvfsr_sb, sb);
+ copy_statvfs_info(sb, mp);
+ STATVFSBUF_PUT(sb);
+ statvfs_to_puffs_statvfs(sbp, &statvfs_msg->pvfsr_sb);
} else {
copy_statvfs_info(sbp, mp);
}
Index: src/tests/fs/puffs/h_dtfs/dtfs_vfsops.c
diff -u src/tests/fs/puffs/h_dtfs/dtfs_vfsops.c:1.3 src/tests/fs/puffs/h_dtfs/dtfs_vfsops.c:1.4
--- src/tests/fs/puffs/h_dtfs/dtfs_vfsops.c:1.3 Sun Nov 4 18:37:02 2012
+++ src/tests/fs/puffs/h_dtfs/dtfs_vfsops.c Mon Sep 23 08:00:58 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: dtfs_vfsops.c,v 1.3 2012/11/04 23:37:02 christos Exp $ */
+/* $NetBSD: dtfs_vfsops.c,v 1.4 2019/09/23 12:00:58 christos Exp $ */
/*
* Copyright (c) 2006 Antti Kantee. All Rights Reserved.
@@ -192,7 +192,7 @@ dtfs_domount(struct puffs_usermount *pu,
#define ROUND(a,b) (((a) + ((b)-1)) & ~((b)-1))
#define NFILES 1024*1024
int
-dtfs_fs_statvfs(struct puffs_usermount *pu, struct statvfs *sbp)
+dtfs_fs_statvfs(struct puffs_usermount *pu, struct puffs_statvfs *sbp)
{
struct rlimit rlim;
struct dtfs_mount *dtm;
@@ -201,7 +201,7 @@ dtfs_fs_statvfs(struct puffs_usermount *
dtm = puffs_getspecific(pu);
pgsize = getpagesize();
- memset(sbp, 0, sizeof(struct statvfs));
+ memset(sbp, 0, sizeof(struct puffs_statvfs));
/*
* Use datasize rlimit as an _approximation_ for free size.
Index: src/usr.sbin/puffs/mount_psshfs/fs.c
diff -u src/usr.sbin/puffs/mount_psshfs/fs.c:1.24 src/usr.sbin/puffs/mount_psshfs/fs.c:1.25
--- src/usr.sbin/puffs/mount_psshfs/fs.c:1.24 Wed Jun 22 00:03:23 2011
+++ src/usr.sbin/puffs/mount_psshfs/fs.c Mon Sep 23 08:00:58 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: fs.c,v 1.24 2011/06/22 04:03:23 mrg Exp $ */
+/* $NetBSD: fs.c,v 1.25 2019/09/23 12:00:58 christos Exp $ */
/*
* Copyright (c) 2006-2009 Antti Kantee. All Rights Reserved.
@@ -27,7 +27,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: fs.c,v 1.24 2011/06/22 04:03:23 mrg Exp $");
+__RCSID("$NetBSD: fs.c,v 1.25 2019/09/23 12:00:58 christos Exp $");
#endif /* !lint */
#include <err.h>
@@ -171,7 +171,7 @@ psshfs_handshake(struct puffs_usermount
}
int
-psshfs_fs_statvfs(struct puffs_usermount *pu, struct statvfs *sbp)
+psshfs_fs_statvfs(struct puffs_usermount *pu, struct puffs_statvfs *sbp)
{
PSSHFSAUTOVAR(pu);
uint64_t tmpval;