mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
fish: fuse: Add -m dev:mnt:opts to allow mount options to be specified.
This lets you turn on ACLs and xattrs by doing: -m /dev/sda1:/:acl,user_xattr The extra parameter is passed through to mount_options: libguestfs: trace: mount_options "acl,user_xattr" "/dev/sda1" "/"
This commit is contained in:
@@ -117,7 +117,7 @@ usage (int status)
|
||||
" --keys-from-stdin Read passphrases from stdin\n"
|
||||
" --listen Listen for remote commands\n"
|
||||
" --live Connect to a live virtual machine\n"
|
||||
" -m|--mount dev[:mnt] Mount dev on mnt (if omitted, /)\n"
|
||||
" -m|--mount dev[:mnt[:opts]] Mount dev on mnt (if omitted, /)\n"
|
||||
" -n|--no-sync Don't autosync\n"
|
||||
" -N|--new type Create prepared disk (test1.img, ...)\n"
|
||||
" --progress-bars Enable progress bars even when not interactive\n"
|
||||
|
||||
@@ -299,9 +299,9 @@ L</REMOTE CONTROL GUESTFISH OVER A SOCKET> below.
|
||||
Connect to a live virtual machine.
|
||||
(Experimental, see L<guestfs(3)/ATTACHING TO RUNNING DAEMONS>).
|
||||
|
||||
=item B<-m dev[:mountpoint]>
|
||||
=item B<-m dev[:mountpoint[:options]]>
|
||||
|
||||
=item B<--mount dev[:mountpoint]>
|
||||
=item B<--mount dev[:mountpoint[:options]]>
|
||||
|
||||
Mount the named partition or logical volume on the given mountpoint.
|
||||
|
||||
@@ -318,8 +318,17 @@ filesystems and LVs available (see L</list-partitions>,
|
||||
L</list-filesystems> and L</lvs> commands), or you can use the
|
||||
L<virt-filesystems(1)> program.
|
||||
|
||||
Using this flag is mostly equivalent to using the C<mount-options>
|
||||
command or the C<mount-ro> command if the I<--ro> flag was given.
|
||||
The third (and rarely used) part of the mount parameter is the list of
|
||||
mount options used to mount the underlying filesystem. If this is not
|
||||
given, then the mount options are either the empty string or C<ro>
|
||||
(the latter if the I<--ro> flag is used). By specifying the mount
|
||||
options, you override this default choice. Probably the only time you
|
||||
would use this is to enable ACLs and/or extended attributes if the
|
||||
filesystem can support them:
|
||||
|
||||
-m /dev/sda1:/:acl,user_xattr
|
||||
|
||||
Using this flag is equivalent to using the C<mount-options> command.
|
||||
|
||||
=item B<-n>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* libguestfs - guestfish and guestmount shared option parsing
|
||||
* Copyright (C) 2010 Red Hat Inc.
|
||||
* Copyright (C) 2010-2011 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
|
||||
@@ -106,11 +106,18 @@ mount_mps (struct mp *mp)
|
||||
if (mp) {
|
||||
mount_mps (mp->next);
|
||||
|
||||
const char *options;
|
||||
if (mp->options)
|
||||
options = mp->options;
|
||||
else if (read_only)
|
||||
options = "ro";
|
||||
else
|
||||
options = "";
|
||||
|
||||
/* Don't use guestfs_mount here because that will default to mount
|
||||
* options -o sync,noatime. For more information, see guestfs(3)
|
||||
* section "LIBGUESTFS GOTCHAS".
|
||||
*/
|
||||
const char *options = read_only ? "ro" : "";
|
||||
r = guestfs_mount_options (g, options, mp->device, mp->mountpoint);
|
||||
if (r == -1) {
|
||||
/* Display possible mountpoints before exiting. */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* libguestfs - guestfish and guestmount shared option parsing
|
||||
* Copyright (C) 2010 Red Hat Inc.
|
||||
* Copyright (C) 2010-2011 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
|
||||
@@ -109,6 +109,7 @@ struct mp {
|
||||
struct mp *next;
|
||||
char *device;
|
||||
char *mountpoint;
|
||||
char *options;
|
||||
};
|
||||
|
||||
/* in inspect.c */
|
||||
@@ -173,12 +174,20 @@ extern int add_libvirt_drives (const char *guest);
|
||||
perror ("malloc"); \
|
||||
exit (EXIT_FAILURE); \
|
||||
} \
|
||||
mp->options = NULL; \
|
||||
mp->mountpoint = bad_cast ("/"); \
|
||||
p = strchr (optarg, ':'); \
|
||||
if (p) { \
|
||||
*p = '\0'; \
|
||||
mp->mountpoint = p+1; \
|
||||
} else \
|
||||
mp->mountpoint = bad_cast ("/"); \
|
||||
p++; \
|
||||
mp->mountpoint = p; \
|
||||
p = strchr (p, ':'); \
|
||||
if (p) { \
|
||||
*p = '\0'; \
|
||||
p++; \
|
||||
mp->options = p; \
|
||||
} \
|
||||
} \
|
||||
mp->device = optarg; \
|
||||
mp->next = mps; \
|
||||
mps = mp
|
||||
|
||||
@@ -148,7 +148,9 @@ to try to read passphrases from the user by opening C</dev/tty>.
|
||||
Connect to a live virtual machine.
|
||||
(Experimental, see L<guestfs(3)/ATTACHING TO RUNNING DAEMONS>).
|
||||
|
||||
=item B<-m dev[:mnt]> | B<--mount dev[:mnt]>
|
||||
=item B<-m dev[:mountpoint[:options]]>
|
||||
|
||||
=item B<--mount dev[:mountpoint[:options]]>
|
||||
|
||||
Mount the named partition or logical volume on the given mountpoint
|
||||
B<in the guest> (this has nothing to do with mountpoints in the host).
|
||||
@@ -156,6 +158,16 @@ B<in the guest> (this has nothing to do with mountpoints in the host).
|
||||
If the mountpoint is omitted, it defaults to C</>. You have to mount
|
||||
something on C</>.
|
||||
|
||||
The third (and rarely used) part of the mount parameter is the list of
|
||||
mount options used to mount the underlying filesystem. If this is not
|
||||
given, then the mount options are either the empty string or C<ro>
|
||||
(the latter if the I<--ro> flag is used). By specifying the mount
|
||||
options, you override this default choice. Probably the only time you
|
||||
would use this is to enable ACLs and/or extended attributes if the
|
||||
filesystem can support them:
|
||||
|
||||
-m /dev/sda1:/:acl,user_xattr
|
||||
|
||||
=item B<-n> | B<--no-sync>
|
||||
|
||||
By default, we attempt to sync the guest disk when the FUSE mountpoint
|
||||
|
||||
Reference in New Issue
Block a user