[libvirt] [PATCH] storage: Fix printing/casting of uid_t/gid_t

Other parts of libvirt use "%u" for formatting uid/gid and typecast to unsigned int. Storage driver used the signed variant. --- src/storage/storage_driver.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 7f4de19..24b54f4 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -2797,7 +2797,8 @@ virStorageFileChown(virStorageSourcePtr src, return -2; } - VIR_DEBUG("chown of storage file %p to %d:%d", src, uid, gid); + VIR_DEBUG("chown of storage file %p to %u:%u", + src, (unsigned int)uid, (unsigned int)gid); return src->drv->backend->storageFileChown(src, uid, gid); } @@ -2819,9 +2820,9 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src, virStorageSourcePtr backingStore = NULL; int backingFormat; - VIR_DEBUG("path=%s format=%d uid=%d gid=%d probe=%d", + VIR_DEBUG("path=%s format=%d uid=%d gid=%u probe=%u", src->path, src->format, - (int)uid, (int)gid, allow_probe); + (unsigned int)uid, (unsigned int)gid, allow_probe); /* exit if we can't load information about the current image */ if (!virStorageFileSupportsBackingChainTraversal(src)) @@ -2834,13 +2835,15 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src, if (src == parent) { virReportSystemError(errno, _("Cannot access storage file '%s' " - "(as uid:%d, gid:%d)"), - src->path, (int)uid, (int)gid); + "(as uid:%u, gid:%u)"), + src->path, (unsigned int)uid, + (unsigned int)gid); } else { virReportSystemError(errno, _("Cannot access backing file '%s' " - "of storage file '%s' (as uid:%d, gid:%d)"), - src->path, parent->path, (int)uid, (int)gid); + "of storage file '%s' (as uid:%u, gid:%u)"), + src->path, parent->path, + (unsigned int)uid, (unsigned int)gid); } goto cleanup; @@ -2934,8 +2937,8 @@ virStorageFileGetMetadata(virStorageSourcePtr src, bool allow_probe, bool report_broken) { - VIR_DEBUG("path=%s format=%d uid=%d gid=%d probe=%d, report_broken=%d", - src->path, src->format, (int)uid, (int)gid, + VIR_DEBUG("path=%s format=%d uid=%u gid=%u probe=%d, report_broken=%d", + src->path, src->format, (unsigned int)uid, (unsigned int)gid, allow_probe, report_broken); virHashTablePtr cycle = NULL; -- 2.1.0

On 12/05/2014 04:16 AM, Peter Krempa wrote:
Other parts of libvirt use "%u" for formatting uid/gid and typecast to unsigned int. Storage driver used the signed variant. --- src/storage/storage_driver.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 7f4de19..24b54f4 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -2797,7 +2797,8 @@ virStorageFileChown(virStorageSourcePtr src, return -2; }
- VIR_DEBUG("chown of storage file %p to %d:%d", src, uid, gid); + VIR_DEBUG("chown of storage file %p to %u:%u", + src, (unsigned int)uid, (unsigned int)gid);
return src->drv->backend->storageFileChown(src, uid, gid); } @@ -2819,9 +2820,9 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src, virStorageSourcePtr backingStore = NULL; int backingFormat;
- VIR_DEBUG("path=%s format=%d uid=%d gid=%d probe=%d", + VIR_DEBUG("path=%s format=%d uid=%d gid=%u probe=%u",
Need %u for uid and %d for probe (that's a boolean) ACK w/ that John
src->path, src->format, - (int)uid, (int)gid, allow_probe); + (unsigned int)uid, (unsigned int)gid, allow_probe);
/* exit if we can't load information about the current image */ if (!virStorageFileSupportsBackingChainTraversal(src)) @@ -2834,13 +2835,15 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src, if (src == parent) { virReportSystemError(errno, _("Cannot access storage file '%s' " - "(as uid:%d, gid:%d)"), - src->path, (int)uid, (int)gid); + "(as uid:%u, gid:%u)"), + src->path, (unsigned int)uid, + (unsigned int)gid); } else { virReportSystemError(errno, _("Cannot access backing file '%s' " - "of storage file '%s' (as uid:%d, gid:%d)"), - src->path, parent->path, (int)uid, (int)gid); + "of storage file '%s' (as uid:%u, gid:%u)"), + src->path, parent->path, + (unsigned int)uid, (unsigned int)gid); }
goto cleanup; @@ -2934,8 +2937,8 @@ virStorageFileGetMetadata(virStorageSourcePtr src, bool allow_probe, bool report_broken) { - VIR_DEBUG("path=%s format=%d uid=%d gid=%d probe=%d, report_broken=%d", - src->path, src->format, (int)uid, (int)gid, + VIR_DEBUG("path=%s format=%d uid=%u gid=%u probe=%d, report_broken=%d", + src->path, src->format, (unsigned int)uid, (unsigned int)gid, allow_probe, report_broken);
virHashTablePtr cycle = NULL;

On 12/05/14 15:28, John Ferlan wrote:
On 12/05/2014 04:16 AM, Peter Krempa wrote:
Other parts of libvirt use "%u" for formatting uid/gid and typecast to unsigned int. Storage driver used the signed variant. --- src/storage/storage_driver.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 7f4de19..24b54f4 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -2797,7 +2797,8 @@ virStorageFileChown(virStorageSourcePtr src, return -2; }
- VIR_DEBUG("chown of storage file %p to %d:%d", src, uid, gid); + VIR_DEBUG("chown of storage file %p to %u:%u", + src, (unsigned int)uid, (unsigned int)gid);
return src->drv->backend->storageFileChown(src, uid, gid); } @@ -2819,9 +2820,9 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src, virStorageSourcePtr backingStore = NULL; int backingFormat;
- VIR_DEBUG("path=%s format=%d uid=%d gid=%d probe=%d", + VIR_DEBUG("path=%s format=%d uid=%d gid=%u probe=%u",
Need %u for uid and %d for probe (that's a boolean)
Oops. I changed the wrong one.
ACK w/ that
Fixed && pushed. Thanks. Peter
John
participants (2)
-
John Ferlan
-
Peter Krempa