On 11/03/2016 06:00 PM, Stefan Hajnoczi wrote:
On Thu, Nov 03, 2016 at 11:51:28AM +0800, Xiao Guangrong wrote:
+static void nvdimm_init_fit_buffer(NvdimmFitBuffer *fit_buf)
+{
+    fit_buf->fit = g_array_new(false, true /* clear */, 1);
+}
+
+static void nvdimm_build_fit_buffer(NvdimmFitBuffer *fit_buf)
+{
+    g_array_free(fit_buf->fit, true);
+    fit_buf->fit = nvdimm_build_device_structure();

In the previous revision I pointed out that it's messy to inline
g_array_new(false, true /* clear */, 1) in nvdimm_init_fit_buffer() when
the data structure is normally created by
nvdimm_build_device_structure().  You didn't respond.


Oh, sorry for that.

Is it possible to call nvdimm_build_device_structure() in
nvdimm_init_fit_buffer() so we don't need to duplicate the details of
how the GArray is created?


Actually, i tried your suggestion however i noticed it makes the code
little confuse, as we construct the fit by calling
nvdimm_build_device_structure() whose name shows the fit will be
rebuild but do not set .dirty in the init path.

g_array_new(false, true /* clear */, 1) is a more clear way to
show this is just a empty array.







Reply via email to