summaryrefslogtreecommitdiff
path: root/libdiskfs/file-statfs.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1998-12-27 10:11:22 +0000
committerRoland McGrath <roland@gnu.org>1998-12-27 10:11:22 +0000
commit58d43a69c90a6527f133d19bd4e0cd4b60094124 (patch)
tree375a665659332e7611541a4126484e96ad9b7748 /libdiskfs/file-statfs.c
parenta9c4e12b5118f94c29d03a57ea71b81a67aa1bcc (diff)
1998-12-27 Roland McGrath <roland@baalperazim.frob.com>
* file-statfs.c (diskfs_S_file_statfs): Remove __ from struct members. 1998-12-21 Mark Kettenis <kettenis@phys.uva.nl> * file-statfs.c (diskfs_S_file_statfs): Initialize mount options in statbuf.
Diffstat (limited to 'libdiskfs/file-statfs.c')
-rw-r--r--libdiskfs/file-statfs.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/libdiskfs/file-statfs.c b/libdiskfs/file-statfs.c
index f90b74ef..ff26819f 100644
--- a/libdiskfs/file-statfs.c
+++ b/libdiskfs/file-statfs.c
@@ -1,5 +1,5 @@
/* libdiskfs implementation of fs.defs: file_statfs
- Copyright (C) 1992, 1993, 1994 Free Software Foundation
+ Copyright (C) 1992, 1993, 1994, 1998 Free Software Foundation
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -15,6 +15,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+#include <sys/statvfs.h>
+
#include "priv.h"
#include "fs_S.h"
@@ -25,7 +27,17 @@ diskfs_S_file_statfs (struct protid *file,
{
if (!file)
return EOPNOTSUPP;
-
+
+ statbuf->f_flag = 0;
+ if (diskfs_readonly)
+ statbuf->f_flag |= ST_RDONLY;
+ if (_diskfs_nosuid)
+ statbuf->f_flag |= ST_NOSUID;
+ if (_diskfs_noexec)
+ statbuf->f_flag |= ST_NOEXEC;
+ if (diskfs_synchronous)
+ statbuf->f_flag |= ST_SYNCHRONOUS;
+
diskfs_set_statfs (statbuf);
return 0;