ref: 2b169371d00965ad627313ec87c40c958764d863
parent: 73faa8daef1b19a4023d143bbd8f25c5b54d18ee
author: Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
date: Sun Nov 15 17:14:45 EST 2020
add "df" alias for "stats"; add "sync" command
--- a/common.h
+++ b/common.h
@@ -48,5 +48,6 @@
void closepart(Part *p);
void closeallparts(void);
void statallparts(void);
+void syncallparts(void);
char *errno2s(int err);
--- a/ext4srv.c
+++ b/ext4srv.c
@@ -883,12 +883,14 @@
if((n = tokenize(c, a, nelem(a))) < 1)
continue;
USED(n);
- if(strcmp(a[0], "stats") == 0){
+ if(strcmp(a[0], "stats") == 0 || strcmp(a[0], "df") == 0){
statallparts();
}else if(strcmp(a[0], "halt") == 0){
closeallparts();
close(0);
threadexitsall(nil);
+ }else if(strcmp(a[0], "sync") == 0){
+ syncallparts();
}else{
print("unknown command: %s\n", a[0]);
}
--- a/part.c
+++ b/part.c
@@ -442,3 +442,17 @@
}
qunlock(&sv);
}
+
+void
+syncallparts(void)
+{
+ Part *p;
+ int r;
+
+ qlock(&sv);
+ for(p = sv.ps; p != nil; p = p->next){
+ if((r = ext4_cache_flush(p->mnt)) != 0)
+ print("error: %s: %s\n", p->partdev, errno2s(r));
+ }
+ qunlock(&sv);
+}
--
⑨