Richard W.M. Jones
2019-Apr-01 11:53 UTC
[Libguestfs] [PATCH nbdkit] log: Decode the extent type in output.
Instead of printing something like ‘type=0’ or ‘type=3’, this changes
the output to show the hole and zero flags separately. For example:
$ ./nbdkit -U - --filter=log sh - logfile=/dev/stdout \
--run 'qemu-img map $nbd' <<'EOF'
case "$1" in
get_size) echo 1M ;;
pread) dd if=/dev/zero count=$3 iflag=count_bytes ;;
can_extents) exit 0 ;;
extents)
echo "0 32K zero"
echo "32K 32K hole,zero"
echo "64K 983040 "
;;
*) exit 2 ;;
esac
EOF
[...]
2019-04-01 11:49:40.818357 connection=1 Extents id=2 offset=0x0 count=0x100000
req_one=1 ...
2019-04-01 11:49:40.819848 connection=1 ...Extents id=2 extents=[{ offset=0x0,
length=0x8000, hole=0, zero=1 }, { offset=0x8000, length=0x8000, hole=1, zero=1
}, { offset=0x10000, length=0xf0000, hole=0, zero=0 }] return=0
Updates commit ed868b00f192cd72e91265e4fcdf3c3fbe8b7613.
Thanks: Martin Kletzander
---
filters/log/log.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/filters/log/log.c b/filters/log/log.c
index 4878db2..02a2522 100644
--- a/filters/log/log.c
+++ b/filters/log/log.c
@@ -382,8 +382,10 @@ log_extents (struct nbdkit_next_ops *next_ops, void
*nxdata,
if (i > 0)
fprintf (fp, ", ");
fprintf (fp, "{ offset=0x%" PRIx64 ", length=0x%"
PRIx64 ", "
- "type=%" PRIu32 " }",
- e.offset, e.length, e.type);
+ "hole=%d, zero=%d }",
+ e.offset, e.length,
+ !!(e.type & NBDKIT_EXTENT_HOLE),
+ !!(e.type & NBDKIT_EXTENT_ZERO));
}
fclose (fp);
--
2.20.1
Eric Blake
2019-Apr-01 12:40 UTC
Re: [Libguestfs] [PATCH nbdkit] log: Decode the extent type in output.
On 4/1/19 6:53 AM, Richard W.M. Jones wrote:> Instead of printing something like ‘type=0’ or ‘type=3’, this changes > the output to show the hole and zero flags separately. For example: > > $ ./nbdkit -U - --filter=log sh - logfile=/dev/stdout \ > --run 'qemu-img map $nbd' <<'EOF' > case "$1" in > get_size) echo 1M ;; > pread) dd if=/dev/zero count=$3 iflag=count_bytes ;; > can_extents) exit 0 ;; > extents) > echo "0 32K zero" > echo "32K 32K hole,zero" > echo "64K 983040 " > ;; > *) exit 2 ;; > esac > EOF > [...] > 2019-04-01 11:49:40.818357 connection=1 Extents id=2 offset=0x0 count=0x100000 req_one=1 ... > 2019-04-01 11:49:40.819848 connection=1 ...Extents id=2 extents=[{ offset=0x0, length=0x8000, hole=0, zero=1 }, { offset=0x8000, length=0x8000, hole=1, zero=1 }, { offset=0x10000, length=0xf0000, hole=0, zero=0 }] return=0 > > Updates commit ed868b00f192cd72e91265e4fcdf3c3fbe8b7613.Yes, that's nicer.> > Thanks: Martin Kletzander > --- > filters/log/log.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-)-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
Martin Kletzander
2019-Apr-01 13:03 UTC
Re: [Libguestfs] [PATCH nbdkit] log: Decode the extent type in output.
On Mon, Apr 01, 2019 at 07:40:14AM -0500, Eric Blake wrote:>On 4/1/19 6:53 AM, Richard W.M. Jones wrote: >> Instead of printing something like ‘type=0’ or ‘type=3’, this changes >> the output to show the hole and zero flags separately. For example: >> >> $ ./nbdkit -U - --filter=log sh - logfile=/dev/stdout \ >> --run 'qemu-img map $nbd' <<'EOF' >> case "$1" in >> get_size) echo 1M ;; >> pread) dd if=/dev/zero count=$3 iflag=count_bytes ;; >> can_extents) exit 0 ;; >> extents) >> echo "0 32K zero" >> echo "32K 32K hole,zero" >> echo "64K 983040 " >> ;; >> *) exit 2 ;; >> esac >> EOF >> [...] >> 2019-04-01 11:49:40.818357 connection=1 Extents id=2 offset=0x0 count=0x100000 req_one=1 ... >> 2019-04-01 11:49:40.819848 connection=1 ...Extents id=2 extents=[{ offset=0x0, length=0x8000, hole=0, zero=1 }, { offset=0x8000, length=0x8000, hole=1, zero=1 }, { offset=0x10000, length=0xf0000, hole=0, zero=0 }] return=0 >> >> Updates commit ed868b00f192cd72e91265e4fcdf3c3fbe8b7613. > >Yes, that's nicer. >Even nicer than what I thought of.>> >> Thanks: Martin Kletzander >> --- >> filters/log/log.c | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) > > >-- >Eric Blake, Principal Software Engineer >Red Hat, Inc. +1-919-301-3226 >Virtualization: qemu.org | libvirt.org >>_______________________________________________ >Libguestfs mailing list >Libguestfs@redhat.com >https://www.redhat.com/mailman/listinfo/libguestfs
Maybe Matching Threads
- [PATCH nbdkit] log: Decode the extent type in output.
- Re: [nbdkit PATCH v2] Introduce cacheextents filter
- [nbdkit PATCH] extents: Cap maximum reply length
- [nbdkit PATCH] sh: Prefer dd bs=1 over iflag=count_bytes
- [nbdkit PATCH] split: Add support for .extents