ioctl_fslabel - get or set a filesystem label
Standard C library (libc
, -lc
)
#include <linux/fs.h> /* Definition of *FSLABEL* constants */
#include <sys/ioctl.h>
int ioctl(int fd, FS_IOC_GETFSLABEL, char label[FSLABEL_MAX]);
int ioctl(int fd, FS_IOC_SETFSLABEL, char label[FSLABEL_MAX]);
If a filesystem supports online label manipulation, these
ioctl(2) operations can be used to get or set the
filesystem label for the filesystem on which fd
resides. The
FS_IOC_SETFSLABEL operation requires privilege
(CAP_SYS_ADMIN).
On success zero is returned. On error, -1 is returned, and
errno
is set to indicate the error.
Possible errors include (but are not limited to) the following:
label
references an inaccessible memory area.
The specified label exceeds the maximum label length for the filesystem.
This can appear if the filesystem does not support online label manipulation.
The calling process does not have sufficient permissions to set the label.
Linux.
Linux 4.18.
They were previously known as BTRFS_IOC_GET_FSLABEL and BTRFS_IOC_SET_FSLABEL and were private to Btrfs.
The maximum string length for this interface is FSLABEL_MAX, including the terminating null byte ('\0'). Filesystems have differing maximum label lengths, which may or may not include the terminating null. The string provided to FS_IOC_SETFSLABEL must always be null-terminated, and the string returned by FS_IOC_GETFSLABEL will always be null-terminated.