From 06df754f52e8496f7e3fc0786b4457c7bf3efc18 Mon Sep 17 00:00:00 2001 From: Yang Xu Date: Wed, 9 Sep 2020 20:05:56 +0800 Subject: [PATCH] loop.4: Document LOOP_CONFIGURE ioctl Signed-off-by: Yang Xu Signed-off-by: Michael Kerrisk --- man4/loop.4 | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) 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)