Re: [libvirt] [PATCHv2 4/4] storage: Improve error message when traversing backing chains

2014-09-24 Thread Peter Krempa
On 09/23/14 22:35, John Ferlan wrote:
 
 
 On 09/18/2014 05:54 AM, Peter Krempa wrote:
 Report also the name of the parent file and uid/gid used to access it to
 help debugging broken storage configurations.
 ---
  src/storage/storage_driver.c | 20 +++-
  1 file changed, 15 insertions(+), 5 deletions(-)

 
 ACK
 

Thanks. I've fixed the nits you've pointed out and pushed this series.

Peter




signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCHv2 4/4] storage: Improve error message when traversing backing chains

2014-09-23 Thread John Ferlan


On 09/18/2014 05:54 AM, Peter Krempa wrote:
 Report also the name of the parent file and uid/gid used to access it to
 help debugging broken storage configurations.
 ---
  src/storage/storage_driver.c | 20 +++-
  1 file changed, 15 insertions(+), 5 deletions(-)
 

ACK

John

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCHv2 4/4] storage: Improve error message when traversing backing chains

2014-09-18 Thread Peter Krempa
Report also the name of the parent file and uid/gid used to access it to
help debugging broken storage configurations.
---
 src/storage/storage_driver.c | 20 +++-
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index c3b29c4..7c518bf 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -2781,6 +2781,7 @@ virStorageFileChown(virStorageSourcePtr src,
 /* Recursive workhorse for virStorageFileGetMetadata.  */
 static int
 virStorageFileGetMetadataRecurse(virStorageSourcePtr src,
+ virStorageSourcePtr parent,
  uid_t uid, gid_t gid,
  bool allow_probe,
  bool report_broken,
@@ -2805,9 +2806,18 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src,
 return -1;

 if (virStorageFileAccess(src, F_OK)  0) {
-virReportSystemError(errno,
- _(Cannot access backing file %s),
- src-path);
+if (src == parent) {
+virReportSystemError(errno,
+ _(Cannot access storage file '%s' 
+   (as uid:%d, gid:%d)),
+ src-path, (int)uid, (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);
+}
+
 goto cleanup;
 }

@@ -2848,7 +2858,7 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src,
 else
 backingStore-format = backingFormat;

-if ((ret = virStorageFileGetMetadataRecurse(backingStore,
+if ((ret = virStorageFileGetMetadataRecurse(backingStore, parent,
 uid, gid,
 allow_probe, report_broken,
 cycle))  0) {
@@ -2912,7 +2922,7 @@ virStorageFileGetMetadata(virStorageSourcePtr src,
 if (src-format = VIR_STORAGE_FILE_NONE)
 src-format = allow_probe ? VIR_STORAGE_FILE_AUTO : 
VIR_STORAGE_FILE_RAW;

-ret = virStorageFileGetMetadataRecurse(src, uid, gid,
+ret = virStorageFileGetMetadataRecurse(src, src, uid, gid,
allow_probe, report_broken, cycle);

 virHashFree(cycle);
-- 
2.1.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list