From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: mtk.manpages@gmail.com,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
linux-man <linux-man@vger.kernel.org>
Subject: Re: Documenting RENAME_WHITEOUT
Date: Wed, 06 May 2015 17:46:36 +0200 [thread overview]
Message-ID: <554A375C.2050506@gmail.com> (raw)
In-Reply-To: <CAJfpegv1evXH=iYXd1tvcYzu7OWp753TbLBFnesm8joZQEtZyg@mail.gmail.com>
Hello Miklos,
On 05/06/2015 04:49 PM, Miklos Szeredi wrote:
> Hi Michael,
>
> On Wed, May 6, 2015 at 4:17 PM, Michael Kerrisk (man-pages)
> <mtk.manpages@gmail.com> wrote:
>> I did some editing of the text and added some details to come up with the
>> following. Could you please check it over? I also have one question below.
>> (I have also added some entries under ERRORS, but I've omitted them here.)
>>
>> RENAME_WHITEOUT (since Linux 3.18)
>> This operation makes sense only for overlay/union
>> filesystem implementations.
>>
>> Specifying RENAME_WHITEOUT creates a "whiteout" object
>> at the source of the rename at the same time as per‐
>> forming the rename. The whole operation is atomic, so
>> that if the rename succeeds then the whiteout will
>> also have been created.
>>
>> A "whiteout" is an object that has special meaning in
>> union/overlay filesystem constructs. In these con‐
>> structs, multiple layers exist and only the top one is
>> ever modified. A whiteout on an upper layer will
>> effectively hide a matching file in the lower layer,
>> making it appear as if the file didn't exist.
>>
>> When a file that exists on the lower layer is renamed,
>> the file is first copied up (if not already on the
>> upper layer) and then renamed on the upper, read-write
>> layer. At the same time, the source file needs to be
>> "whiteouted". The whole operation needs to be done
>>
>> ???
>> After "whitedout", I am tempted to add: "(so that the version of
>> the source file in the lower layer is rendered invisible)".
>> Is that a correct formulation, and is it helpful to add it?
>
> Yes, that's correct, and helpful, I think.
Added. Thanks for confirming, and thanks of course for your original text!
Cheers,
Michael
>> atomically.
>>
>> When not part of a union/overlay, the whiteout appears
>> as a character device with a {0,0} device number.
>>
>> RENAME_WHITEOUT requires the same privileges as creat‐
>> ing a device node (i.e., the CAP_MKNOD capability).
>>
>> RENAME_WHITEOUT can't be employed together with
>> RENAME_EXCHANGE.
>>
>> RENAME_WHITEOUT requires support from the underlying
>> filesystem. Among the filesystems that provide that
>> support are shmem (since Linux 3.18), ext4 (since
>> Linux 3.18), and XFS (since Linux 4.1).
>
> Looks good to me.
>
> Thanks,
> Miklos
>
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2015-05-06 15:46 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-29 10:01 Documenting RENAME_WHITEOUT Michael Kerrisk (man-pages)
2015-02-20 7:11 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkiog0S5kHYNb_4+d2ZXcA-nPw-cBsuNG03AyEPt3K34nw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-06 16:11 ` Miklos Szeredi
[not found] ` <20150306161145.GA13649-YynjPCA0bi1olqkO4TVVkw@public.gmane.org>
2015-03-06 21:44 ` Dave Chinner
2015-03-08 8:37 ` Michael Kerrisk (man-pages)
[not found] ` <54FC0A53.5060804-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-09 10:45 ` Miklos Szeredi
2015-05-06 14:17 ` Michael Kerrisk (man-pages)
2015-05-06 14:49 ` Miklos Szeredi
2015-05-06 15:46 ` Michael Kerrisk (man-pages) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=554A375C.2050506@gmail.com \
--to=mtk.manpages@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-man@vger.kernel.org \
--cc=miklos@szeredi.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).