diff --git a/README b/README
index 09dbca2cfa4c11f82a9ca9167928d2b7382b216a..dfda0de1ef49ea4bf984a5874b5caee48b943320 100644
--- a/README
+++ b/README
@@ -61,18 +61,21 @@ Integration with Ganeti
 -----------------------
 
 The ``hbal`` and ``hspace`` programs can either get their input from
-text files, or online from a cluster via RAPI. For online collection
-via RAPI, the "-m" argument to both hbal and hspace should specify the
-cluster or master node name. ``hail`` uses the standard iallocator API
-and thus doesn't need any special setup (just needs to be installed in
-the right directory).
+text files, locally from the master daemon (when run on the master
+node of a cluster), or remote from a cluster via RAPI. The "-L"
+argument enables local collection (with an optional path to the unix
+socket). For online collection via RAPI, the "-m" argument should
+specify the cluster or master node name. Only ``hbal`` and ``hspace``
+use these arguments, ``hail`` uses the standard iallocator API and
+thus doesn't need any special setup (just needs to be installed in the
+right directory).
 
 For generating the text files, a separate tool (``hscan``) is provided
 to automate their gathering if RAPI is available, which is better
 since it can extract more precise information. In case RAPI is not
 usable for whatever reason, the following two commands should be run::
 
-    gnt-node list -oname,mtotal,mnode,mfree,dtotal,dfree,offline \
+    gnt-node list -oname,mtotal,mnode,mfree,dtotal,dfree,ctotal,offline \
       --separator '|' --no-headers > nodes
     gnt-instance list -oname,be/memory,sda_size,be/vcpus,status,pnode,snodes \
       --separator '|' --no-head > instances
diff --git a/hbal.1 b/hbal.1
index 398ac91053e5954c2f5f181ba61412edfb22fa5c..75563a72e6a9b7979f2b084dc0936039c82fb0ca 100644
--- a/hbal.1
+++ b/hbal.1
@@ -4,7 +4,7 @@ hbal \- Cluster balancer for Ganeti
 
 .SH SYNOPSIS
 .B hbal
-.B "[-C]"
+.BI "[-C[" file "]]"
 .B "[-p]"
 .B "[-o]"
 .B "[-v... | -q]"
@@ -12,6 +12,7 @@ hbal \- Cluster balancer for Ganeti
 .BI "[-O" name... "]"
 .BI "[-e" score "]"
 .BI "[-m " cluster "]"
+.BI "[-L[" path "]]"
 .BI "[-n " nodes-file " ]"
 .BI "[-i " instances-file "]"
 .BI "[--max-cpu " cpu-ratio "]"
@@ -307,6 +308,14 @@ given as an argument via RAPI. If the argument doesn't contain a colon
 https:// and appending the default RAPI port, otherwise it's
 considered a fully-specified URL and is used as-is.
 
+.TP
+.BI "-L[" path "]"
+Collect data not from files but directly from the master daemon, which
+is to be contacted via the luxi (an internal Ganeti protocol). An
+optional \fIpath\fR argument is interpreted as the path to the unix
+socket on which the master daemon listens; otherwise, the default path
+used by ganeti when installed with "--localstatedir=/var" is used.
+
 .TP
 .BI "-l" N ", --max-length=" N
 Restrict the solution to this length. This can be used for example to
diff --git a/hspace.1 b/hspace.1
index db423582136d14a5bb87fd0a17e2b00558d62d02..5cf7a4a3ee73086a4d02a530ca33acf9b17e6250 100644
--- a/hspace.1
+++ b/hspace.1
@@ -8,6 +8,7 @@ hspace \- Cluster space analyzer for Ganeti
 .B "[-v... | -q]"
 .BI "[-O" name... "]"
 .BI "[-m " cluster "]"
+.BI "[-L[" path "]]"
 .BI "[-n " nodes-file " ]"
 .BI "[-i " instances-file "]"
 .BI "[--memory " mem "]"
@@ -270,6 +271,14 @@ given as an argument via RAPI. If the argument doesn't contain a colon
 https:// and appending the default RAPI port, otherwise it's
 considered a fully-specified URL and is used as-is.
 
+.TP
+.BI "-L[" path "]"
+Collect data not from files but directly from the master daemon, which
+is to be contacted via the luxi (an internal Ganeti protocol). An
+optional \fIpath\fR argument is interpreted as the path to the unix
+socket on which the master daemon listens; otherwise, the default path
+used by ganeti when installed with "--localstatedir=/var" is used.
+
 .TP
 .B -v, --verbose
 Increase the output verbosity. Each usage of this option will increase