On 10/19/2015 07:58 PM, Pino Toscano wrote:
On Monday 19 October 2015 17:05:03 Maxim Perevedentsev wrote:
+static int32_t
+get_block_size (const char *device)
+{
+  CLEANUP_FREE_STRING_LIST char **params = NULL;
+  const char *block_pattern = "Block size";
+  size_t i;
+  int32_t block_size;
+
+  params = do_tune2fs_l (device);
This works, yes, although maybe there should be a way to run tune2fs -l
and traverse its output to either build a return hash (i.e. what
do_tune2fs_l currently does) or just lookup one or more keys (like
needed here).
We could extract running tune2fs -l to separate function returning char*, and parse parameters using strstr. It's terrible... I think the cost of calling external command is much higher than the cost of building hash.

To make things betters, we could extract line-splitting function, create 2 similar functions (1 building hash (as for now) and 1 comparing key to argument). I do not think we will save much if we avoid copying strings into hash.

--
Your sincerely,
Maxim Perevedentsev

_______________________________________________
Libguestfs mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libguestfs

Reply via email to