libxl: convert to use LOG() macro
This patch converts most LIBXL__LOG* macros to LOG macro. It's done with
spatch plus some hand coding.
Using spatch rune:
spatch --in-place --no-includes --include-headers \
--sp-file libxl.spatch \
tools/libxl/libxl*.c
with some exceptions.
libxl_json.c is untouched because the notion of ctx is in fact referring
to yajl context.
libxl_qmp.c is untouched because libxl ctx is buried in qmp context.
libxl_fork.c is untouched because it's clearer to just use original
code.
Some fallouts are dealt with manually. There are three categories.
Functions that don't have gc defined. Add gc definition with GC_INIT.
Also try my best to make them conform with libxl coding style.
* libxl_list_domain
* libxl_domain_info
* libxl_domain_pause
* libxl_get_physinfo
* libxl_domain_set_nodeaffinity
* libxl_domain_get_nodeaffinity
* libxl_get_scheduler
* libxl_sched_credit_params_get
* libxl_sched_credit_params_set
* libxl_send_debug_keys
* libxl_xen_console_read_line
* libxl_tmem_list
* libxl_tmem_freeze
* libxl_tmem_thaw
* libxl_tmem_set
* libxl_tmem_shared_auth
* libxl_tmem_freeable
* libxl_fd_set_cloexec
* libxl_fd_set_nonblock
* libxl__init_recursive_mutex
* READ_WRITE_EXACTLY
* libxl__ao_complete_check_progress_reports
Functions don't need ctx variable anymore after conversion. Delete that
variable.
* libxl__device_from_disk
* domcreate_rebuild_done
* domcreate_devmodel_started
* domcreate_attach_pci
* libxl__domain_device_model
* libxl__build_device_model_args_new
* libxl__build_device_model_args
* libxl__create_pci_backend
* libxl__device_pci_add_xenstore
* sysfs_write_bdf
* sysfs_dev_unbind
* pciback_dev_has_slot
* pciback_dev_is_assigned
* pciback_dev_assign
* pciback_dev_unassign
* pci_assignable_driver_path_write
* libxl__device_pci_assignable_remove
* libxl__xenstore_child_wait_deprecated
* libxl__xs_libxl_path
* libxl__device_model_version_running
Special handling for some functions.
* ao__abort: easier to just use original code.
* e820_sanitize: should have taken gc instead of ctx
=====
virtual patch
virtual context
virtual org
virtual report
@level1@
identifier FN =~ "LIBXL__LOG|LIBXL__LOG_ERRNO|LIBXL__LOG_ERRNOVAL";
constant l1 =~ "(LIBXL__LOG|XTL)_(DEBUG|INFO|WARNING|ERROR)";
expression ctx;
@@
FN(ctx, l1, ...);
@script:python level2@
l1 << level1.l1;
l2;
@@
import re
coccinelle.l2 = re.sub("LIBXL__LOG_|XTL_", "", l1);
if coccinelle.l2 == "WARNING": coccinelle.l2 = "WARN"
@log10@
expression fmt;
expression ctx;
constant level1.l1;
identifier level2.l2;
@@
-LIBXL__LOG(ctx, l1, fmt);
+LOG(l2, fmt);
@log11@
expression fmt;
expression ctx;
constant level1.l1;
identifier level2.l2;
expression arg1;
@@
-LIBXL__LOG(ctx, l1, fmt, arg1);
+LOG(l2, fmt, arg1);
@log12@
expression fmt;
expression ctx;
constant level1.l1;
identifier level2.l2;
expression arg1, arg2;
@@
-LIBXL__LOG(ctx, l1, fmt, arg1, arg2);
+LOG(l2, fmt, arg1, arg2);
@log13@
expression fmt;
expression ctx;
constant level1.l1;
identifier level2.l2;
expression arg1, arg2, arg3;
@@
-LIBXL__LOG(ctx, l1, fmt, arg1, arg2, arg3);
+LOG(l2, fmt, arg1, arg2, arg3);
@log20@
expression fmt;
expression ctx;
constant level1.l1;
identifier level2.l2;
@@
-LIBXL__LOG_ERRNO(ctx, l1, fmt);
+LOGE(l2, fmt);
@log21@
expression ctx;
expression fmt;
constant level1.l1;
identifier level2.l2;
expression arg1;
@@
-LIBXL__LOG_ERRNO(ctx, l1, fmt, arg1);
+LOGE(l2, fmt, arg1);
@log22@
expression ctx;
expression fmt;
constant level1.l1;
identifier level2.l2;
expression arg1, arg2;
@@
-LIBXL__LOG_ERRNO(ctx, l1, fmt, arg1, arg2);
+LOGE(l2, fmt, arg1, arg2);
@log23@
expression fmt;
expression ctx;
constant level1.l1;
identifier level2.l2;
expression arg1, arg2, arg3;
@@
-LIBXL__LOG_ERRNO(ctx, l1, fmt, arg1, arg2, arg3);
+LOGE(l2, fmt, arg1, arg2, arg3);
@log30@
expression fmt;
expression ctx;
constant level1.l1;
identifier level2.l2;
expression errnoval;
@@
-LIBXL__LOG_ERRNOVAL(ctx, l1, errnoval, fmt);
+LOGEV(l2, errnoval, fmt);
@log31@
expression fmt;
expression arg1;
expression ctx;
constant level1.l1;
identifier level2.l2;
expression errnoval;
@@
-LIBXL__LOG_ERRNOVAL(ctx, l1, errnoval, fmt, arg1);
+LOGEV(l2, errnoval, fmt, arg1);
@log32@
expression fmt;
expression arg1, arg2;
expression ctx;
constant level1.l1;
identifier level2.l2;
expression errnoval;
@@
-LIBXL__LOG_ERRNOVAL(ctx, l1, errnoval, fmt, arg1, arg2);
+LOGEV(l2, errnoval, fmt, arg1, arg2);
=====
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>