diff --git a/man4/loop.4 b/man4/loop.4 index f4cf48043..86a7fa041 100644 --- a/man4/loop.4 +++ b/man4/loop.4 @@ -178,6 +178,49 @@ This value must be a power of two in the range otherwise, an .B EINVAL error results. +.TP +.BR LOOP_CONFIGURE " (since Linux 5.8)" +.\" commit 3448914e8cc550ba792d4ccc74471d1ca4293aae +Setup and configure all loop device parameters in a single step using +the (third) +.BR ioctl (2) +argument. +This argument is a pointer to a +.I loop_config +structure, defined in +.I +as: +.IP +.in +4n +.EX +struct loop_config { + __u32 fd; + __u32 block_size; + struct loop_info64 info; + __u64 __reserved[8]; +}; +.EE +.in +.IP +In addition to doing what +.BR LOOP_SET_STATUS +can do, +.BR LOOP_CONFIGURE +can also be used to the following: +.RS +.IP * 2 +Set the correct block size immediately by setting +.IR loop_config.block_size. +.IP * +Explicitly request direct I/O mode by setting +.BR LO_FLAGS_DIRECT_IO +in loop_config.info.lo_flags. +.IP * +Explicitly request read-only mode by setting +.BR LO_FLAGS_READ_ONLY +in +.IR loop_config.info.lo_flags. +.RE .PP Since Linux 2.6, there are two new .BR ioctl (2)