On Wednesday, 9 August 2017 19:23:40 CEST Richard W.M. Jones wrote: > Unlike previous ‘daemon: Reimplement ...’ patches, this does not > reimplement the umount_all API completely (yet, but this > implementation could be completed in future and then replace the C > one). However it is necessary to have a version of umount_all which > we can call from the OCaml inspection code. > ---
Even if this is already committed, better leave some comments than never ... > daemon/mount.ml | 61 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > daemon/mount.mli | 2 ++ > 2 files changed, 63 insertions(+) > > diff --git a/daemon/mount.ml b/daemon/mount.ml > index 3391ffc11..fbf4ddc39 100644 > --- a/daemon/mount.ml > +++ b/daemon/mount.ml > + List.iter ( > + fun line -> > + let line = String.nsplit " " line in > + (* The field of interest is the 5th field. Whitespace is escaped > + * with octal sequences like \040 (for space). > + * See fs/seq_file.c:mangle_path. > + *) Would it be possible to output to debug the mount entry, like done in the C version? > + if List.length line >= 5 then ( > + let mp = List.nth line 4 in > + let mp = proc_unmangle_path mp in > + > + (* Allow a mount directory like "/sysroot" or "/sysroot/..." *) > + if (sysroot_len > 0 && String.is_prefix mp sysroot) || > + (String.is_prefix mp sysroot && > + String.length mp > sysroot_len && > + mp.[sysroot_len] = '/') then This condition is puzzling, although so are the 2 if's in the C version; also it is not an exact 1:1 conversion, since the first half of the "or" ought to be "sysroot_len > 0 && mp = sysroot". -- Pino Toscano
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs