Re: [PATCH] rename.2: Add kernel versions for RENAME_NOREPLACE support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Lukas,

On 9/14/18 12:37 AM, Lucas Werkmeister wrote:
> The RENAME_NOREPLACE flag was added with the initial release of the
> renameat2 syscall in Linux 3.15, but support for most filesystems was
> only added in later versions, and some may still not support it.
> 
> Signed-off-by: Lucas Werkmeister <mail@xxxxxxxxxxxxxxxxxxx>
> ---
> 
> Notes:
>     This list gets rather unwieldy with Linux 4.9, but I’m not sure what
>     the best way to avoid that is…

I think the best thing to do is omit a few of those filesystems and
just say "and many other filesystems".

I've applied your patch, and then reworked the text a little (and noted
an important filesystem, XFS, that added support in 4.0, as far as I 
can tell)

Here's the result:

              RENAME_NOREPLACE   requires  support  from  the  underlying
              filesystem.  Support for various file systemd was added  as
              follows:

              *  ext4 (Linux 3.15);

              *  btrfs, shmem, and cifs (Linux 3.17);

              *  xfs (Linux 4.0);

              *  Support  for  many  other filesystems was added in Linux
                 4.9, including etx2, minix,  reiserfs,  jfs,  vfat,  and
                 bpf.

Thanks for the patch!

Cheers,

Michael


>  man2/rename.2 | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/man2/rename.2 b/man2/rename.2
> index 53b26b589..03d542939 100644
> --- a/man2/rename.2
> +++ b/man2/rename.2
> @@ -209,6 +209,21 @@ already exists.
>  .B RENAME_NOREPLACE
>  can't be employed together with
>  .BR RENAME_EXCHANGE .
> +.IP
> +.B RENAME_NOREPLACE
> +requires support from the underlying filesystem.
> +Among the filesystems that provide that support are
> +ext4 (since Linux 3.15),
> +.\" ext4: commit 0a7c3937a1f23f8cb5fc77ae01661e9968a51d0c
> +btrfs, shmem and cifs (since Linux 3.17),
> +.\" btrfs: commit 80ace85c915d0f41016f82917218997b72431258
> +.\" shmem: commit 3b69ff51d087d265aa4af3a532fc4f20bf33e718
> +.\" cifs: commit 7c33d5972ce382bcc506d16235f1e9b7d22cbef8
> +and affs, bfs, exofs, ext2, hfs, hfsplus, jffs2, jfs, logfs, minix, msdos,
> +nilfs2, omfs, reiserfs, sysvfs, ubifs, udf, ufs, vfat,
> +hugetlbfs, ramfs, and bpf (since Linux 4.9).
> +.\" local filesystems: commit f03b8ad8d38634d13e802165cc15917481b47835
> +.\" libfs: commit e0e0be8a835520e2f7c89f214dfda570922a1b90
>  .TP
>  .BR RENAME_WHITEOUT " (since Linux 3.18)"
>  .\" commit 0d7a855526dd672e114aff2ac22b60fc6f155b08
> 


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux