linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

      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).