summaryrefslogtreecommitdiffstats
path: root/daemon
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-11-02 09:32:52 +0000
committerRichard W.M. Jones <rjones@redhat.com>2012-11-02 14:35:41 +0000
commitf56bc8edd5f23c23298bf3f609a98dd6fec5d512 (patch)
treed8810fa734b73881be1312ef7877d3d41c5c4763 /daemon
parent4cfc277674f50ed9eff63e2010d3241172e7a30e (diff)
downloadlibguestfs-f56bc8edd5f23c23298bf3f609a98dd6fec5d512.tar.gz
libguestfs-f56bc8edd5f23c23298bf3f609a98dd6fec5d512.tar.xz
libguestfs-f56bc8edd5f23c23298bf3f609a98dd6fec5d512.zip
New API: mklost_and_found
Diffstat (limited to 'daemon')
-rw-r--r--daemon/ext2.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/daemon/ext2.c b/daemon/ext2.c
index 7fc1172d..e4afced1 100644
--- a/daemon/ext2.c
+++ b/daemon/ext2.c
@@ -1178,3 +1178,30 @@ error:
if (err) free (err);
return -1;
}
+
+int
+do_mklost_and_found (const char *mountpoint)
+{
+ char *cmd;
+ int r;
+
+ if (asprintf_nowarn (&cmd, "cd %R && mklost+found", mountpoint) == -1) {
+ reply_with_perror ("asprintf");
+ return -1;
+ }
+
+ r = system (cmd);
+ if (r == -1) {
+ reply_with_perror ("system");
+ free (cmd);
+ return -1;
+ }
+ if (!WIFEXITED (r) || WEXITSTATUS (r) != 0) {
+ reply_with_error ("%s: command failed", cmd);
+ free (cmd);
+ return -1;
+ }
+ free (cmd);
+
+ return 0;
+}