docs: Separate out combined =item 's in man pages.
[libguestfs.git] / tools / virt-list-filesystems
index 5f545cf..50f95f2 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 # virt-list-filesystems
-# Copyright (C) 2009 Red Hat Inc.
+# Copyright (C) 2009-2010 Red Hat Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@ use warnings;
 use strict;
 
 use Sys::Guestfs;
-use Sys::Guestfs::Lib qw(open_guest get_partitions);
+use Sys::Guestfs::Lib qw(open_guest);
 use Pod::Usage;
 use Getopt::Long;
 use Locale::TextDomain 'libguestfs';
@@ -39,6 +39,9 @@ virt-list-filesystems - List filesystems in a virtual machine or disk image
 
 =head1 DESCRIPTION
 
+This tool is obsolete.  Use L<virt-filesystems(1)> as a more
+flexible replacement.
+
 C<virt-list-filesystems> is a command line tool to list
 the filesystems that are contained in a virtual machine or
 disk image.
@@ -71,7 +74,9 @@ Display version number and exit.
 
 my $uri;
 
-=item B<--connect URI> | B<-c URI>
+=item B<-c URI>
+
+=item B<--connect URI>
 
 If using libvirt, connect to the given I<URI>.  If omitted, then we
 connect to the default libvirt hypervisor.
@@ -100,7 +105,9 @@ ensure the format is always specified.
 
 my $long;
 
-=item B<-l> | B<--long>
+=item B<-l>
+
+=item B<--long>
 
 With this option, C<virt-list-filesystems> displays the type of
 each filesystem too (where "type" means C<ext3>, C<xfs> etc.)
@@ -109,7 +116,9 @@ each filesystem too (where "type" means C<ext3>, C<xfs> etc.)
 
 my $all;
 
-=item B<-a> | B<--all>
+=item B<-a>
+
+=item B<--all>
 
 Normally we only show mountable filesystems.  If this option
 is given then swap devices are shown too.
@@ -148,49 +157,19 @@ if ($uri) {
 
 $g->launch ();
 
-# List of partitions, LVs etc.
-my @partitions = get_partitions ($g);
-
-my @fses;
-my @not_mountable;
-my $dev;
-
-# Try and mount each one, to see what's mountable.
-foreach $dev (@partitions) {
-    eval { $g->mount_ro ($dev, "/"); };
-    my $mountable = $@ ? 0 : 1;
-    $g->umount_all ();
-    if ($mountable) {
-        push @fses, $dev;
-    } else {
-        push @not_mountable, $dev;
-    }
-}
+# List of filesystems.
+my %fses = $g->list_filesystems ();
 
-foreach $dev (@fses) {
-    print canonicalize($dev);
-    if ($long) {
-        my $fstype;
-        eval { $fstype = $g->vfs_type ($dev); };
-        if ($fstype) {
-            print " $fstype";
-        } else {
-            print " unknown";
-        }
-    }
-    print "\n";
-}
+my ($dev, $fstype);
+foreach $dev (sort keys %fses) {
+    $fstype = $fses{$dev};
 
-# If asked, look in the not_mountable list for potential swap devices.
-if ($all) {
-    foreach $dev (@not_mountable) {
-        my $file;
-        eval { $file = $g->file ($dev); };
-        if ($file && $file =~ /\bswap\b/) {
-            print canonicalize($dev);
-            print " swap" if $long;
-            print "\n"
+    if ($all || ($fstype ne "swap" && $fstype ne "unknown")) {
+        print canonicalize($dev);
+        if ($long) {
+            print " $fstype";
         }
+        print "\n";
     }
 }
 
@@ -219,6 +198,7 @@ L<guestfs(3)>,
 L<guestfish(1)>,
 L<virt-cat(1)>,
 L<virt-tar(1)>,
+L<virt-filesystems(1)>,
 L<virt-list-partitions(1)>,
 L<Sys::Guestfs(3)>,
 L<Sys::Guestfs::Lib(3)>,