qemu-e2k/block
Eric Blake 5c86bdf120 block: Call attention to truncation of long NBD exports
Commit 93676c88 relaxed our NBD client code to request export names up
to the NBD protocol maximum of 4096 bytes without NUL terminator, even
though the block layer can't store anything longer than 4096 bytes
including NUL terminator for display to the user.  Since this means
there are some export names where we have to truncate things, we can
at least try to make the truncation a bit more obvious for the user.
Note that in spite of the truncated display name, we can still
communicate with an NBD server using such a long export name; this was
deemed nicer than refusing to even connect to such a server (since the
server may not be under our control, and since determining our actual
length limits gets tricky when nbd://host:port/export and
nbd+unix:///export?socket=/path are themselves variable-length
expansions beyond the export name but count towards the block layer
name length).

Reported-by: Xueqiang Wei <xuwei@redhat.com>
Fixes: https://bugzilla.redhat.com/1843684
Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20200610163741.3745251-3-eblake@redhat.com>
2020-06-10 12:58:59 -05:00
..
monitor blockdev: Split off basic bitmap operations for qemu-img 2020-05-19 10:32:14 -05:00
accounting.c
aio_task.c
backup-top.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
backup-top.h
backup.c backup: Make sure that source and target size match 2020-05-08 13:26:35 +02:00
blkdebug.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
blklogwrites.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
blkreplay.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
blkverify.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
block-backend.c block: Pass BdrvChildRole in remaining cases 2020-05-18 19:05:25 +02:00
block-copy.c block/block-copy: Simplify block_copy_do_copy() 2020-05-18 19:05:25 +02:00
bochs.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
cloop.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
commit.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
copy-on-read.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
create.c
crypto.c qcow2: Expose bitmaps' size during measure 2020-05-28 13:16:16 -05:00
crypto.h
curl.c
dirty-bitmap.c block/dirty-bitmap: add bdrv_has_named_bitmaps helper 2020-05-28 13:15:22 -05:00
dmg-bz2.c
dmg-lzfse.c
dmg.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
dmg.h
file-posix.c block: Drop unused .bdrv_has_zero_init_truncate 2020-05-08 13:26:35 +02:00
file-win32.c block: Drop unused .bdrv_has_zero_init_truncate 2020-05-08 13:26:35 +02:00
filter-compress.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
gluster.c gluster: Drop useless has_zero_init callback 2020-05-08 13:26:35 +02:00
io_uring.c io_uring: use io_uring_cq_ready() to check for ready cqes 2020-06-05 09:54:48 +01:00
io.c block: Factor out bdrv_run_co() 2020-06-05 09:54:48 +01:00
iscsi-opts.c
iscsi.c lockable: replaced locks with lock guard macros where appropriate 2020-05-04 16:07:43 +01:00
linux-aio.c
Makefile.objs
mirror.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
nbd.c block: Call attention to truncation of long NBD exports 2020-06-10 12:58:59 -05:00
nfs.c block: Drop unused .bdrv_has_zero_init_truncate 2020-05-08 13:26:35 +02:00
null.c
nvme.c Compress lines for immediate return 2020-05-04 14:43:22 +02:00
parallels.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
parallels.h
qapi-sysemu.c
qapi.c
qcow2-bitmap.c qcow2: Expose bitmaps' size during measure 2020-05-28 13:16:16 -05:00
qcow2-cache.c
qcow2-cluster.c qcow2: Support BDRV_REQ_ZERO_WRITE for truncate 2020-04-30 17:51:07 +02:00
qcow2-refcount.c block: Comment cleanups 2020-05-05 13:17:36 +02:00
qcow2-snapshot.c qcow2: Allow resize of images with internal snapshots 2020-05-05 13:17:36 +02:00
qcow2-threads.c qcow2: add zstd cluster compression 2020-05-13 14:20:31 +02:00
qcow2.c qcow2: Expose bitmaps' size during measure 2020-05-28 13:16:16 -05:00
qcow2.h qcow2: Expose bitmaps' size during measure 2020-05-28 13:16:16 -05:00
qcow.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
qed-check.c
qed-cluster.c
qed-l2-cache.c
qed-table.c
qed.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
qed.h
quorum.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
raw-format.c qcow2: Expose bitmaps' size during measure 2020-05-28 13:16:16 -05:00
rbd.c block: Drop unused .bdrv_has_zero_init_truncate 2020-05-08 13:26:35 +02:00
replication.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
sheepdog.c block: Drop unused .bdrv_has_zero_init_truncate 2020-05-08 13:26:35 +02:00
snapshot.c
ssh.c block: Drop unused .bdrv_has_zero_init_truncate 2020-05-08 13:26:35 +02:00
stream.c
throttle-groups.c qom: Drop parameter @errp of object_property_add() & friends 2020-05-15 07:07:58 +02:00
throttle.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
trace-events
vdi.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
vhdx-endian.c
vhdx-log.c block: Add flags to bdrv(_co)_truncate() 2020-04-30 17:51:07 +02:00
vhdx.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
vhdx.h
vmdk.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
vpc.c block: Use bdrv_default_perms() 2020-05-18 19:05:25 +02:00
vvfat.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
vxhs.c
win32-aio.c
write-threshold.c