Re: [Xen-devel] [PATCH] pygrub: remove isconfig option

2016-03-22 Thread Firas Azar

Andrew:

Currently if we use pygrub --isconfig , there is a good chance 
that this command could fail with an "out of memory" error. This can 
happen especially if the image file in question is at least a few 
gigabytes in size and the dom0_mem setting is relatively small. So even 
if any software used this option it is likely it would fail. This 
problem is due to the parser using "readlines" function in GrubConf.py, 
which attempts to load the entire file into memory.


The advantage of "-l -n" option is that it exercises the "real" code 
path, which boots the PV guests.


Regards

--Firas

On 03/22/2016 04:22 PM, Andrew Cooper wrote:

On 22/03/16 20:06, Firas Azar wrote:

The pygrub command option "isconfig" is broken and obsolete. This patch removes it since 
the alternate options "-l -n" provide the same functionality.

Broken how?

Are you sure that no existing software is using that option?

~Andrew



___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


[Xen-devel] [PATCH] pygrub: remove isconfig option

2016-03-22 Thread Firas Azar
The pygrub command option "isconfig" is broken and obsolete. This patch removes 
it since the alternate options "-l -n" provide the same functionality.

Signed-off-by: Firas Azar 
---
 tools/pygrub/src/pygrub | 21 +
 1 file changed, 5 insertions(+), 16 deletions(-)

diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index 40f9584..82d4f01 100755
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -776,10 +776,11 @@ if __name__ == "__main__":
 
 try:
 opts, args = getopt.gnu_getopt(sys.argv[1:], 'qilnh::',
-   ["quiet", "interactive", "list-entries", 
"not-really", "help",
-"output=", "output-format=", 
"output-directory=", "offset=",
-"entry=", "kernel=", 
-"ramdisk=", "args=", "isconfig", "debug"])
+   ["quiet", "interactive", "list-entries",
+"not-really", "help", "output=",
+"output-format=", "output-directory=",
+"offset=", "entry=", "kernel=",
+"ramdisk=", "args=", "debug"])
 except getopt.GetoptError:
 usage()
 sys.exit(1)
@@ -793,7 +794,6 @@ if __name__ == "__main__":
 entry = None
 interactive = True
 list_entries = False
-isconfig = False
 part_offs = None
 debug = False
 not_really = False
@@ -838,8 +838,6 @@ if __name__ == "__main__":
 entry = a
 # specifying the entry to boot implies non-interactive
 interactive = False
-elif o in ("--isconfig",):
-isconfig = True
 elif o in ("--debug",):
 debug = True
 elif o in ("--output-format",):
@@ -871,15 +869,6 @@ if __name__ == "__main__":
 else:
 fd = os.open(output, os.O_WRONLY)
 
-# debug
-if isconfig:
-chosencfg = run_grub(file, entry, fs, incfg["args"])
-print "  kernel: %s" % chosencfg["kernel"]
-if chosencfg["ramdisk"]:
-print "  initrd: %s" % chosencfg["ramdisk"]
-print "  args: %s" % chosencfg["args"]
-sys.exit(0)
-
 # if boot filesystem is set then pass to fsimage.open
 bootfsargs = '"%s"' % incfg["args"]
 bootfsgroup = re.findall('zfs-bootfs=(.*?)[\s\,\"]', bootfsargs)
-- 
1.9.1


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel