def METHOD_NAME():
    """
    Check for the allocation watermark by domstats
    """
    test.log.info("TEST_STEP1: Check allocation will keep changing "
                  "during create file in guest after snap.")
    path_list = prepare_snap_path()
    format_disk = True
    for index in range(0, snap_nums):
        test_obj.prepare_snapshot(snap_name="snap_%s" % index,
                                  snap_num=1, extra=extra_option,
                                  snap_path=path_list[index],
                                  clean_snap_file=False)
        alloc_new_dict_1 = get_alloc_result()
        write_file(format_disk, "/mnt/file_%s" % index)
        format_disk = False
        alloc_new_dict_2 = get_alloc_result()
        if alloc_new_dict_1 == alloc_new_dict_2:
            test.fail("block.x.allocation should keep changing during "
                      "create file in guest.")
    vmxml = vm_xml.VMXML.new_from_dumpxml(vm_name)
    test_obj.snap_path_list = disk_obj.get_source_list(vmxml, disk_type,
                                                       test_obj.new_dev)
    test.log.debug("After creating snaps, The xml is:\n%s", vmxml)
    # Manual case requires to sleep 5 seconds and check the domstats again
    time.sleep(5)
    test.log.info("TEST_STEP2: Check %s keep changing "
                  "during blockcommit.", disappear_alloc)
    cmd = "blockcommit %s %s %s " % (vm_name, target_disk,
                                     commit_option)
    virsh_session = virsh.VirshSession(virsh_exec=virsh.VIRSH_EXEC,
                                       auto_close=True)
    virsh_session.sendline(cmd)
    test.log.debug("blockcommit cmd: %s", cmd)
    alloc_dict = {}
    for i in range(0, 2):
        alloc_new_dict = get_alloc_result()
        test.log.debug('Current alloc dict is:%s, last alloc dict is :%s',
                       alloc_new_dict, alloc_dict)
        if alloc_new_dict.get(disappear_index) == \
                alloc_dict.get(disappear_index, ""):
            test.fail("%s should keep changing during blockcommit %s." % (
                disappear_alloc, virsh_session.get_stripped_output()))
        alloc_dict = alloc_new_dict
        time.sleep(1)
    test.log.info("TEST_STEP3: Check %s should disappear" % disappear_alloc)
    if utils_misc.wait_for(lambda: commit_success_msg in
                           virsh_session.get_stripped_output(), 40, step=0.01):
        alloc_new_dict = get_alloc_result()
        if disappear_alloc in alloc_new_dict:
            test.fail("The % should not be in %s" % (disappear_alloc,
                                                     alloc_new_dict))
    else:
        test.log.debug("Current commit result:%s ",
                       virsh_session.get_stripped_output())
        test.fail("Blockcommit still not finish in 40s, "
                  "Please control commit speed to test :%s",
                  (virsh_session.get_stripped_output()))