org.freedesktop.UDisks2.Filesystem

org.freedesktop.UDisks2.Filesystem — Block device containing a mountable filesystem

Methods

SetLabel      (IN  s     label,
               IN  a{sv} options);
Mount         (IN  a{sv} options,
               OUT s     mount_path);
Unmount       (IN  a{sv} options);
Resize        (IN  t     size,
               IN  a{sv} options);
Check         (IN  a{sv} options,
               OUT b     consistent);
Repair        (IN  a{sv} options,
               OUT b     repaired);
TakeOwnership (IN  a{sv} options);

Properties

MountPoints  readable   aay
Size         readable   t

Description

This interface is used for org.freedesktop.UDisks2.Block devices that contain a mountable filesystem.

Method Details

The SetLabel() method

SetLabel (IN  s     label,
          IN  a{sv} options);

Sets the filesystem label.

IN s label:

The label to set.

IN a{sv} options:

Options (currently unused except for standard options).


The Mount() method

Mount (IN  a{sv} options,
       OUT s     mount_path);

Mounts the filesystem.

The directory the filesystem will be mounted in is determined by looking at data related to the device or filesystem (such the filesystem UUID and label) and will be created automatically except if the device the filesystem resides on is referenced in the /etc/fstab file, see below. In either case, the directory the filesystem is mounted in, is returned in mount_path on success - it is usually a sub-directory of /run/media/$USER but note that any directory may be returned.

The filesystem type to use can be overridden with the fstype option and mount options (a comma-separated string) can be given in options option. Note that both the mount options and filesystem types are validated against a (small) whitelist to avoid unexpected privilege escalation

If the device in question is referenced in the /etc/fstab file, the mount command is called directly (as root) and the given options or filesystem type given in options are ignored.

If x-udisks-auth is specified as an option for the device in the /etc/fstab file, then the mount command is run as the calling user, without performing any authorization check mentioned above. If this fails because of insufficient permissions, an authorization check is performed (which typically results in the user having to authenticate as an administrator). If authorized, the mount command is then run as root.

The filesystem should be unmounted using the Unmount() method.

If the device is removed without being unmounted (e.g. the user yanking the device or pulling the media out) or unmounted in a way that bypasses the Unmount() method (e.g. unmounted by the super-user by using the umount(8) command directly), the device will be unmounted (if needed) and/or the mount point will be cleaned up.

IN a{sv} options:

Options - known options (in addition to standard options) includes fstype (of type 's') and options (of type 's').

OUT s mount_path:

The filesystem path where the device was mounted.


The Unmount() method

Unmount (IN  a{sv} options);

Unmount a mounted device.

If the device in question was mounted by the calling user via the Mount() method the filesystem is unmounted without any authorization checks. Otherwise, an authorization check is performed (which typically results in the user having to authenticate as an administrator). If authorized, the filesystem is unmounted.

If the mountpoint was previously created by udisks it is guaranteed it will be removed upon returning from this method call.

If the filesystem is busy, this operation fails with the error org.freedesktop.UDisks2.Error.DeviceBusy unless the force option is used.

IN a{sv} options:

Options - known options (in addition to standard options) includes force (of type 'b').


The Resize() method

Resize (IN  t     size,
        IN  a{sv} options);

Resizes the filesystem.

Shrinking operations need to move data which causes this action to be slow. The filesystem-resize job for the object might expose progress.

IN t size:

The target size in bytes, 0 for maximum.

IN a{sv} options:

Options (currently unused except for standard options).

Since 2.7.2


The Check() method

Check (IN  a{sv} options,
       OUT b     consistent);

Checks the filesystem for consistency.

Unsupported filesystems result in an error.

IN a{sv} options:

Options (currently unused except for standard options).

OUT b consistent:

Whether the filesystem is undamaged.

Since 2.7.2


The Repair() method

Repair (IN  a{sv} options,
        OUT b     repaired);

Tries to repair the filesystem.

Unsupported filesystems result in an error.

IN a{sv} options:

Options (currently unused except for standard options).

OUT b repaired:

Whether the filesystem could be successfully repaired.

Since 2.7.2


The TakeOwnership() method

TakeOwnership (IN  a{sv} options);

Changes ownership of the filesystem to the UID and GID of the calling user.

Filesystems that don't support ownership result in an error.

IN a{sv} options:

Options (in addition to standard options) includes recursive (of type 'b').

Since 2.7.2

Property Details

The "MountPoints" property

MountPoints  readable   aay

An array of filesystems paths for where the file system on the device is mounted. If the device is not mounted, this array is empty.


The "Size" property

Size  readable   t

The size of the filesystem. This is the amount of

bytes used on the block device. If this is smaller than org.freedesktop.Udisks2.Block.Size, then the filesystem can be made larger with Resize.

If the size is unknown, the property is zero.