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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.