2018-05-29 | Alberto Garcia | qcow2: Fix Coverity warning when calculating the refcount... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-05-15 | Alberto Garcia | docs: Document the new default sizes of the qcow2 caches Signed-off-by: Alberto Garcia <berto@igalia.com> ...33b21fffc76ac9953cc19c56.1523968389.git.berto@igalia.com |
commitcommitdifftree |
2018-05-15 | Alberto Garcia | qcow2: Give the refcount cache the minimum possible... Signed-off-by: Alberto Garcia <berto@igalia.com> ...cb319689a1ebaa4e7c9d6591.1523968389.git.berto@igalia.com |
commitcommitdifftree |
2018-05-15 | Alberto Garcia | specs/qcow2: Clarify that compressed clusters have... Signed-off-by: Alberto Garcia <berto@igalia.com> ...59cb0c0e188e80bc9248e337.1523376013.git.berto@igalia.com |
commitcommitdifftree |
2018-05-15 | Alberto Garcia | Fix error message about compressed clusters with OFLAG_COPIED Signed-off-by: Alberto Garcia <berto@igalia.com> ...c740403191a47e607c2463fe.1523376013.git.berto@igalia.com |
commitcommitdifftree |
2018-05-15 | Alberto Garcia | hmp: Allow using a qdev id in block_set_io_throttle Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-04-03 | Alberto Garcia | iotests: Test abnormally large size in compressed cluster... Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 20180329120745.11154-1-berto@igalia.com |
commitcommitdifftree |
2018-04-03 | Alberto Garcia | iotests: Update 186 after commit ac64273c66ab136c44043259162 Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-04-03 | Alberto Garcia | iotests: Update 051 and 186 after commit 1454509726719e0933c Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-26 | Alberto Garcia | qcow2: Reset free_cluster_index when allocating a new... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-09 | Alberto Garcia | iotests: Tweak 030 in order to trigger a race condition... Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 20180306130121.30243-1-berto@igalia.com |
commitcommitdifftree |
2018-03-09 | Alberto Garcia | qcow2: Make qemu-img check detect corrupted L1 tables... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-09 | Alberto Garcia | qcow2: Check snapshot L1 table in qcow2_snapshot_delete() Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-09 | Alberto Garcia | qcow2: Check snapshot L1 table in qcow2_snapshot_goto() Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-09 | Alberto Garcia | qcow2: Check snapshot L1 tables in qcow2_check_metadata_over... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-09 | Alberto Garcia | qcow2: Check L1 table parameters in qcow2_expand_zero_clusters() Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-09 | Alberto Garcia | qcow2: Check L1 table offset in qcow2_snapshot_load_tmp() Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-09 | Alberto Garcia | qcow2: Generalize validate_table_offset() into qcow2_validat... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-02 | Alberto Garcia | qcow2: Replace align_offset() with ROUND_UP() Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 20180215131008.5153-1-berto@igalia.com |
commitcommitdifftree |
2018-03-02 | Alberto Garcia | docs: document how to use the l2-cache-entry-size parameter Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-03-02 | Alberto Garcia | specs/qcow2: Fix documentation of the compressed cluster... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | iotests: Add l2-cache-entry-size to iotest 137 Signed-off-by: Alberto Garcia <berto@igalia.com> ...aef60fb58739b0801eb9517c.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | iotests: Test downgrading an image using a small L2... Signed-off-by: Alberto Garcia <berto@igalia.com> ...8fabbad4c0b9142b2a506dd4.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | iotests: Test valid values of l2-cache-entry-size Signed-off-by: Alberto Garcia <berto@igalia.com> ...11480c760991a22bcae5b48c.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Allow configuring the L2 slice size Signed-off-by: Alberto Garcia <berto@igalia.com> ...d20de68a6c289553a13d2354.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Rename l2_table in count_cow_clusters() Signed-off-by: Alberto Garcia <berto@igalia.com> ...242f1de7d191375e4f130aac.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Rename l2_table in count_contiguous_clusters_unalloca... Signed-off-by: Alberto Garcia <berto@igalia.com> ...d0b900a77a00a1b6ffc359e6.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Rename l2_table in count_contiguous_clusters() Signed-off-by: Alberto Garcia <berto@igalia.com> ...e51285dccf1a94f0cecb1f74.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Rename l2_table in qcow2_alloc_compressed_cluster_off... Signed-off-by: Alberto Garcia <berto@igalia.com> ...49ec19cc512a50d83563f2ad.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update qcow2_truncate() to support L2 slices Signed-off-by: Alberto Garcia <berto@igalia.com> ...54a090b74cf2bed1cc334c0e.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update expand_zero_clusters_in_l1() to support... Signed-off-by: Alberto Garcia <berto@igalia.com> ...88096cff103f2923b72b0f32.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Prepare expand_zero_clusters_in_l1() for adding... Signed-off-by: Alberto Garcia <berto@igalia.com> ...1477ad4654448badd1c89d73.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Read refcount before L2 table in expand_zero_clusters... Signed-off-by: Alberto Garcia <berto@igalia.com> ...bfef979aeb9568f57ef57c5d.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update qcow2_update_snapshot_refcount() to support... Signed-off-by: Alberto Garcia <berto@igalia.com> ...33b58487135124d70add8cf0.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Prepare qcow2_update_snapshot_refcount() for... Signed-off-by: Alberto Garcia <berto@igalia.com> ...f80e498f4045b64902a94293.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update zero_single_l2() to support L2 slices Signed-off-by: Alberto Garcia <berto@igalia.com> ...d8975ef487d679794de4fbcc.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update discard_single_l2() to support L2 slices Signed-off-by: Alberto Garcia <berto@igalia.com> ...cb01b97a3db3a3c5a43396e5.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update handle_alloc() to support L2 slices Signed-off-by: Alberto Garcia <berto@igalia.com> ...4c5af51665431ddbf5e99afd.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update handle_copied() to support L2 slices Signed-off-by: Alberto Garcia <berto@igalia.com> ...ab2392554bee53c2b312148c.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update qcow2_alloc_cluster_link_l2() to support... Signed-off-by: Alberto Garcia <berto@igalia.com> ...8e877e2a25852d9ab14797ff.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update qcow2_get_cluster_offset() to support... Signed-off-by: Alberto Garcia <berto@igalia.com> ...6ed6af9611731cb7acd110eb.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update get_cluster_table() to support L2 slices Signed-off-by: Alberto Garcia <berto@igalia.com> ...5d3f3032da0f95db1b615f33.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Refactor get_cluster_table() Signed-off-by: Alberto Garcia <berto@igalia.com> ...ea7a6ccb93951eb01d95fd4c.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update l2_allocate() to support L2 slices Signed-off-by: Alberto Garcia <berto@igalia.com> ...29f6487ec86eb06a11f37445.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Prepare l2_allocate() for adding L2 slice support Signed-off-by: Alberto Garcia <berto@igalia.com> ...524f52f49d8157595a707a35.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Update l2_load() to support L2 slices Signed-off-by: Alberto Garcia <berto@igalia.com> ...cb331d006853fe22facca847.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Add offset_to_l2_slice_index() Signed-off-by: Alberto Garcia <berto@igalia.com> ...d1712d8d1e7b409ad539c718.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Add l2_slice_size field to BDRVQcow2State Signed-off-by: Alberto Garcia <berto@igalia.com> ...b110c802a8b3c3be3b937f37.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Add offset_to_l1_index() Signed-off-by: Alberto Garcia <berto@igalia.com> ...9a0425fad06d823d18df8522.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Remove BDS parameter from qcow2_cache_is_table_offset() Signed-off-by: Alberto Garcia <berto@igalia.com> ...5a954bafb5931b5215483d3a.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Remove BDS parameter from qcow2_cache_discard() Signed-off-by: Alberto Garcia <berto@igalia.com> ...be32627c6b7fe8df9edb1476.1517840877.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Remove BDS parameter from qcow2_cache_clean_unused() Signed-off-by: Alberto Garcia <berto@igalia.com> ...1de0ea3a3b2dd0a81932334d.1517840876.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Remove BDS parameter from qcow2_cache_destroy() Signed-off-by: Alberto Garcia <berto@igalia.com> ...56e61a85b145ce787d06262b.1517840876.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Remove BDS parameter from qcow2_cache_put() Signed-off-by: Alberto Garcia <berto@igalia.com> ...7563da77cdad1a66ebb3e896.1517840876.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Remove BDS parameter from qcow2_cache_entry_mark_dirty() Signed-off-by: Alberto Garcia <berto@igalia.com> ...3c1428b7b6a41bb9e2679bfb.1517840876.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Remove BDS parameter from qcow2_cache_table_release() Signed-off-by: Alberto Garcia <berto@igalia.com> ...544525f85bbbf0548d5ba575.1517840876.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Remove BDS parameter from qcow2_cache_get_table_idx() Signed-off-by: Alberto Garcia <berto@igalia.com> ...2cfd4715e53dd84a2c651017.1517840876.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Remove BDS parameter from qcow2_cache_get_table_addr() Signed-off-by: Alberto Garcia <berto@igalia.com> ...876f45de1bb22419ccdb6ad3.1517840876.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Add table size field to Qcow2Cache Signed-off-by: Alberto Garcia <berto@igalia.com> ...5c567bead95a018dc34bc687.1517840876.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Fix documentation of get_cluster_table() Signed-off-by: Alberto Garcia <berto@igalia.com> ...a03678d74ecbd26aeba129aa.1517840876.git.berto@igalia.com |
commitcommitdifftree |
2018-02-13 | Alberto Garcia | qcow2: Use g_try_realloc() in qcow2_expand_zero_clusters() Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-12-04 | Alberto Garcia | blockjob: Make block_job_pause_all() keep a reference... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-11-28 | Alberto Garcia | blockjob: Remove the job from the list earlier in block_job_... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-11-21 | Alberto Garcia | block: Close a BlockDriverState completely even when... Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 20171106145345.12038-1-berto@igalia.com |
commitcommitdifftree |
2017-11-14 | Alberto Garcia | qcow2: Check that corrupted images can be repaired... Signed-off-by: Alberto Garcia <berto@igalia.com> ...927e36adf2fd42ae6198747a.1510143008.git.berto@igalia.com |
commitcommitdifftree |
2017-11-14 | Alberto Garcia | qcow2: Assert that the crypto header does not overlap... Signed-off-by: Alberto Garcia <berto@igalia.com> ...0ac2bbd71676c0112eebe2e5.1509718618.git.berto@igalia.com |
commitcommitdifftree |
2017-11-14 | Alberto Garcia | qcow2: Add iotest for an empty refcount table Signed-off-by: Alberto Garcia <berto@igalia.com> ...e0ee303b3045f130feec0474.1509718618.git.berto@igalia.com |
commitcommitdifftree |
2017-11-14 | Alberto Garcia | qcow2: Add iotest for an image with header.refcount_table_of... Signed-off-by: Alberto Garcia <berto@igalia.com> ...790b90f303fc9fe82a27391a.1509718618.git.berto@igalia.com |
commitcommitdifftree |
2017-11-14 | Alberto Garcia | qcow2: Don't open images with header.refcount_table_clusters... Signed-off-by: Alberto Garcia <berto@igalia.com> ...bba11062e88f5075a47e8e16.1509718618.git.berto@igalia.com |
commitcommitdifftree |
2017-11-14 | Alberto Garcia | qcow2: Prevent allocating compressed clusters at offset 0 Signed-off-by: Alberto Garcia <berto@igalia.com> ...3330def1cf1003a5b862b7d9.1509718618.git.berto@igalia.com |
commitcommitdifftree |
2017-11-14 | Alberto Garcia | qcow2: Prevent allocating L2 tables at offset 0 Signed-off-by: Alberto Garcia <berto@igalia.com> ...a2da22c122204eb493cc3133.1509718618.git.berto@igalia.com |
commitcommitdifftree |
2017-11-14 | Alberto Garcia | qcow2: Prevent allocating refcount blocks at offset 0 Signed-off-by: Alberto Garcia <berto@igalia.com> ...3f269c1d1a309af161cdc73f.1509718618.git.berto@igalia.com |
commitcommitdifftree |
2017-11-13 | Alberto Garcia | qemu-iotests: Test I/O limits with removable media Signed-off-by: Alberto Garcia <berto@igalia.com> ...c5a7f01d58766e415ee18d6a.1510339534.git.berto@igalia.com |
commitcommitdifftree |
2017-11-13 | Alberto Garcia | block: Leave valid throttle timers when removing a... Signed-off-by: Alberto Garcia <berto@igalia.com> ...046d782cea4373b765c5bc1d.1510339534.git.berto@igalia.com |
commitcommitdifftree |
2017-11-13 | Alberto Garcia | block: Check for inserted BlockDriverState in blk_io_limits_... Signed-off-by: Alberto Garcia <berto@igalia.com> ...3e08672564714dcfb76a3d8c.1510339534.git.berto@igalia.com |
commitcommitdifftree |
2017-10-26 | Alberto Garcia | qcow2: Use BDRV_SECTOR_BITS instead of its literal... Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 20171009153856.20387-1-berto@igalia.com |
commitcommitdifftree |
2017-09-26 | Alberto Garcia | throttle: Assert that bkt->max is valid in throttle_compute_... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-08-30 | Alberto Garcia | misc: Remove unused Error variables Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 20170829120836.16091-1-berto@igalia.com |
commitcommitdifftree |
2017-08-29 | Alberto Garcia | throttle: Test the valid range of config values Signed-off-by: Alberto Garcia <berto@igalia.com> ...c28769fec4c7ea543be5c5e3.1503580370.git.berto@igalia.com |
commitcommitdifftree |
2017-08-29 | Alberto Garcia | throttle: Make burst_length 64bit and add range checks Signed-off-by: Alberto Garcia <berto@igalia.com> ...fb2e1fa1be4fb47147a0d398.1503580370.git.berto@igalia.com |
commitcommitdifftree |
2017-08-29 | Alberto Garcia | throttle: Make LeakyBucket.avg and LeakyBucket.max... Signed-off-by: Alberto Garcia <berto@igalia.com> ...e2c41c2dfdbbbf6c5f8fedf8.1503580370.git.berto@igalia.com |
commitcommitdifftree |
2017-08-29 | Alberto Garcia | throttle: Remove throttle_fix_bucket() / throttle_unfix_bucket() Signed-off-by: Alberto Garcia <berto@igalia.com> ...709eddc7b09e7669a523bff3.1503580370.git.berto@igalia.com |
commitcommitdifftree |
2017-08-29 | Alberto Garcia | throttle: Make throttle_is_valid() a bit less verbose Signed-off-by: Alberto Garcia <berto@igalia.com> ...4cf93f5a999e4656049fcf0c.1503580370.git.berto@igalia.com |
commitcommitdifftree |
2017-08-29 | Alberto Garcia | throttle: Update the throttle_fix_bucket() documentation Signed-off-by: Alberto Garcia <berto@igalia.com> ...3860fb2b528b757236f0c0a7.1503580370.git.berto@igalia.com |
commitcommitdifftree |
2017-08-29 | Alberto Garcia | throttle: Fix wrong variable name in the header documentation Signed-off-by: Alberto Garcia <berto@igalia.com> ...567f3b3b13a113847af33812.1503580370.git.berto@igalia.com |
commitcommitdifftree |
2017-08-08 | Alberto Garcia | quorum: Set sectors-count to 0 when reporting a flush... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-06-26 | Alberto Garcia | qcow2: Use offset_into_cluster() and offset_to_l2_index() Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-06-26 | Alberto Garcia | qcow2: Merge the writing of the COW regions with the... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-06-26 | Alberto Garcia | qcow2: Pass a QEMUIOVector to do_perform_cow_{read... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-06-26 | Alberto Garcia | qcow2: Allow reading both COW regions with only one... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-06-26 | Alberto Garcia | qcow2: Split do_perform_cow() into _read(), _encrypt... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-06-26 | Alberto Garcia | qcow2: Make perform_cow() call do_perform_cow() twice Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-06-26 | Alberto Garcia | qcow2: Use unsigned int for both members of Qcow2COWRegion Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-06-26 | Alberto Garcia | qcow2: Remove unused Error variable in do_perform_cow() Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-06-26 | Alberto Garcia | throttle: Update throttle-groups.c documentation Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-05-29 | Alberto Garcia | qcow2: remove extra local_error variable Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 20170511150337.21470-1-berto@igalia.com |
commitcommitdifftree |
2017-05-26 | Alberto Garcia | stream: fix crash in stream_start() when block_job_create... Signed-off-by: Alberto Garcia <berto@igalia.com> |
commitcommitdifftree |
2017-02-16 | Alberto Garcia | qemu-doc: Clarify that -vga std is now the default Signed-off-by: Alberto Garcia <berto@igalia.com> Message-Id: <20170127094154.19778-1-berto@igalia.com> |
commitcommitdifftree |
2017-02-11 | Alberto Garcia | qemu-io: don't allow I/O operations larger than BDRV_REQUEST... Signed-off-by: Alberto Garcia <berto@igalia.com> ...144396bda24d13a207131dcf.1485878688.git.berto@igalia.com |
commitcommitdifftree |
2017-02-11 | Alberto Garcia | qcow2: Optimize the refcount-block overlap check Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 20170201123828.4815-1-berto@igalia.com |
commitcommitdifftree |
next |