[libvirt RFCv7 06/40] virfile: add comment about the use of SEEK_END in virFileDiskCopy

Claudio Fontana cfontana at suse.de
Fri May 6 13:10:50 UTC 2022


Signed-off-by: Claudio Fontana <cfontana at suse.de>
Reviewed-by: Daniel P. Berrangé <berrange at redhat.com>
---
 src/util/virfile.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/util/virfile.c b/src/util/virfile.c
index 8b07db6679..a9fcac1af9 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -4741,6 +4741,10 @@ virFileDiskCopy(int disk_fd, const char *disk_path, int remote_fd, const char *r
     if (!p.isBlockDev && p.isDirect) {
         off_t off;
         if (p.isWrite) {
+            /*
+             * note: for write we do not only check that disk_fd is seekable,
+             * we also want to know that the file is empty, so we need SEEK_END.
+             */
             if ((off = lseek(disk_fd, 0, SEEK_END)) != 0) {
                 virReportSystemError(off < 0 ? errno : EINVAL, "%s",
                                      _("O_DIRECT write needs empty seekable file"));
-- 
2.35.3



More information about the libvir-list mailing list