Browse Source

Kernel: Implement `f_basetype` in statvfs

Tim Schumacher 3 years ago
parent
commit
4ba39c8d63
2 changed files with 6 additions and 0 deletions
  1. 4 0
      Kernel/API/POSIX/sys/statvfs.h
  2. 2 0
      Kernel/Syscalls/statvfs.cpp

+ 4 - 0
Kernel/API/POSIX/sys/statvfs.h

@@ -15,6 +15,8 @@ extern "C" {
 #define ST_RDONLY 0x1
 #define ST_NOSUID 0x2
 
+#define FSTYPSZ 16
+
 struct statvfs {
     unsigned long f_bsize;
     unsigned long f_frsize;
@@ -29,6 +31,8 @@ struct statvfs {
     unsigned long f_fsid;
     unsigned long f_flag;
     unsigned long f_namemax;
+
+    char f_basetype[FSTYPSZ];
 };
 
 #ifdef __cplusplus

+ 2 - 0
Kernel/Syscalls/statvfs.cpp

@@ -30,6 +30,8 @@ ErrorOr<FlatPtr> Process::do_statvfs(FileSystem const& fs, Custody const* custod
 
     kernelbuf.f_namemax = 255;
 
+    (void)fs.class_name().copy_characters_to_buffer(kernelbuf.f_basetype, FSTYPSZ);
+
     if (custody)
         kernelbuf.f_flag = custody->mount_flags();