From: Tomas M <tomas@slax.org>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: "J. R. Okajima" <hooanon05@yahoo.co.jp>,
Andrew Morton <akpm@linux-foundation.org>,
NeilBrown <neilb@suse.de>,
viro@zeniv.linux.org.uk, torvalds@linux-foundation.org,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
apw@canonical.com, nbd@openwrt.org, hramrach@centrum.cz,
jordipujolp@gmail.com, ezk@fsl.cs.sunysb.edu
Subject: Re: [PATCH 0/7] overlay filesystem: request for inclusion
Date: Fri, 8 Jul 2011 17:21:20 +0200 [thread overview]
Message-ID: <CAL1oBhrt38rSQHC03AZP5b3R=2PfguJ-VLQhPXX3aqtes3iUXw@mail.gmail.com> (raw)
In-Reply-To: <8739ig3k93.fsf@tucsk.pomaz.szeredi.hu>
> Here's a patch to document these limitations.
Why would we need to 'document limitations' if we can use code which
DOESN'T IMPOSE the limitations? (read: aufs)
Believe me or not, OverlayFS will be pointless if there are any
limitations which make the final 'filesystem' work inconsistently from
the behavior expected by crazy applications, like KDE suite, for
example.
Inode number change (as mentioned in the 'non-standard' behavior
documentation) is a NO NO option, really, applications rely on that
more than you would expect!
Tomas M
On Fri, Jul 8, 2011 at 4:44 PM, Miklos Szeredi <miklos@szeredi.hu> wrote:
> Miklos Szeredi <miklos@szeredi.hu> writes:
>
>> "J. R. Okajima" <hooanon05@yahoo.co.jp> writes:
>>> If I remember correctly, Miklos has mentioned about it like this.
>>> - overlayfs provides the same feature set as UnionMount.
>>> - but its implementation is much smaller and simpler than UnionMount.
>>>
>>> I agree with this argument (Oh, I have to confess that I don't test
>>> overlayfs by myself). But it means that overlayfs doesn't provide some
>>> features which UnionMount doesn't provide. I have posted about such
>>> features before, but I list them up again here.
>>> - the inode number may change silently.
>>> - hardlinks may corrupt by copy-up.
>>> - read(2) may get obsolete filedata (fstat(2) for metadata too).
>>> - fcntl(F_SETLK) may be broken by copy-up.
>>> - unnecessary copy-up may happen, for example mmap(MAP_PRIVATE) after
>>> open(O_RDWR).
>
> Here's a patch to document these limitations.
>
> Thanks,
> Miklos
> ----
>
> Subject: ovl: add limitation to documentation
>
> From: Miklos Szeredi <mszeredi@suse.cz>
>
> J. R. Okajima noted some examples where overlayfs behaves differently
> from a standard filesystem. Describe these cases in the documentation.
>
> Reported-by: "J. R. Okajima" <hooanon05@yahoo.co.jp>
> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
> ---
> Documentation/filesystems/overlayfs.txt | 29 +++++++++++++++++++++++++++--
> 1 file changed, 27 insertions(+), 2 deletions(-)
>
> Index: linux-2.6/Documentation/filesystems/overlayfs.txt
> ===================================================================
> --- linux-2.6.orig/Documentation/filesystems/overlayfs.txt 2011-07-07 16:01:47.000000000 +0200
> +++ linux-2.6/Documentation/filesystems/overlayfs.txt 2011-07-08 14:16:44.000000000 +0200
> @@ -143,6 +143,9 @@ to the upper filesystem (copy_up). Note
> also requires copy_up, though of course creation of a symlink does
> not.
>
> +The copy_up may turn out to be unnecessary, for example if the file is
> +opened for read-write but the data is not modified.
> +
> The copy_up process first makes sure that the containing directory
> exists in the upper filesystem - creating it and any parents as
> necessary. It then creates the object with the same metadata (owner,
> @@ -156,6 +159,27 @@ filesystem - future operations on the fi
> overlay filesystem (though an operation on the name of the file such as
> rename or unlink will of course be noticed and handled).
>
> +
> +Non-standard behavior at copy_up
> +--------------------------------
> +
> +The copy_up operation essentially creates a new, identical file and
> +moves it over to the old name. The new file may be on a different
> +filesystem, so both st_dev and st_ino of the file may change.
> +
> +Any open files referring to this inode will access the old data and
> +metadata. Similarly any file locks obtained before copy_up will not
> +apply to the copied up file.
> +
> +If a file with multiple hard links is copied up, then this will
> +"break" the link. Changes will not be propagated to other names
> +referring to the same inode.
> +
> +Symlinks in /proc/PID/ and /proc/PID/fd which point to a non-directory
> +object in overlayfs will not contain vaid absolute paths, only
> +relative paths leading up to the filesystem's root. This will be
> +fixed in the future.
> +
> Changes to underlying filesystems
> ---------------------------------
>
> @@ -163,5 +187,6 @@ Offline changes, when the overlay is not
> the upper or the lower trees.
>
> Changes to the underlying filesystems while part of a mounted overlay
> -filesystem are not allowed. This is not yet enforced, but will be in
> -the future.
> +filesystem are not allowed. If the underlying filesystem is changed,
> +the behavior of the overlay is undefined, though it will not result in
> +a crash or deadlock.
> --
> 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
>
next prev parent reply other threads:[~2011-07-08 15:21 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-01 12:46 [PATCH 0/7] overlay filesystem: request for inclusion Miklos Szeredi
2011-06-01 12:46 ` [PATCH 1/7] vfs: add i_op->open() Miklos Szeredi
2011-06-01 12:46 ` [PATCH 2/7] vfs: export do_splice_direct() to modules Miklos Szeredi
2011-06-01 12:46 ` [PATCH 3/7] vfs: introduce clone_private_mount() Miklos Szeredi
2011-06-01 12:46 ` [PATCH 4/7] overlay filesystem Miklos Szeredi
2011-06-01 12:46 ` [PATCH 5/7] overlayfs: add statfs support Miklos Szeredi
2011-06-01 12:46 ` [PATCH 6/7] overlayfs: implement show_options Miklos Szeredi
2011-06-01 12:46 ` [PATCH 7/7] overlay: overlay filesystem documentation Miklos Szeredi
2011-06-08 22:32 ` [PATCH 0/7] overlay filesystem: request for inclusion Andrew Morton
2011-06-09 1:59 ` NeilBrown
2011-06-09 3:52 ` Andrew Morton
2011-06-09 12:47 ` Miklos Szeredi
2011-06-09 19:38 ` Andrew Morton
2011-06-09 19:49 ` Felix Fietkau
2011-06-09 22:02 ` Miklos Szeredi
2011-06-10 3:48 ` J. R. Okajima
2011-06-10 9:31 ` Francis Moreau
2011-06-16 18:27 ` Ric Wheeler
2011-06-10 10:19 ` Michal Suchanek
2011-06-12 7:44 ` J. R. Okajima
2011-06-13 18:48 ` Miklos Szeredi
2011-07-08 14:44 ` Miklos Szeredi
2011-07-08 15:21 ` Tomas M [this message]
2011-07-09 12:22 ` J. R. Okajima
2011-07-15 12:33 ` Miklos Szeredi
2011-07-15 13:02 ` J. R. Okajima
2011-07-15 13:04 ` J. R. Okajima
2011-07-15 13:07 ` Miklos Szeredi
2011-07-15 13:33 ` J. R. Okajima
2011-07-15 15:16 ` Miklos Szeredi
2011-06-09 13:49 ` Andy Whitcroft
2011-06-09 19:32 ` Andrew Morton
2011-06-09 19:40 ` Linus Torvalds
2011-06-09 20:17 ` Miklos Szeredi
2011-06-09 22:58 ` Anton Altaparmakov
2011-06-11 2:39 ` Greg KH
2011-06-12 20:51 ` Anton Altaparmakov
2011-06-10 11:51 ` Bernd Schubert
2011-06-10 12:45 ` Michal Suchanek
2011-06-10 12:54 ` Bernd Schubert
2011-06-09 13:57 ` Michal Suchanek
2011-06-09 13:57 ` Andy Whitcroft
2011-07-05 19:54 ` Hans-Peter Jansen
2011-07-08 12:57 ` Miklos Szeredi
2011-07-10 8:23 ` Ric Wheeler
2011-07-10 13:55 ` Sorin Faibish
2011-07-12 15:59 ` Miklos Szeredi
2011-07-10 11:16 ` Hans-Peter Jansen
2011-07-12 16:15 ` Miklos Szeredi
[not found] ` <4540f7aa16724111bd792a1d577261c2@HUBCAS1.cs.stonybrook.edu>
2011-06-16 6:51 ` Erez Zadok
2011-06-16 9:45 ` Michal Suchanek
2011-06-16 10:45 ` Jordi Pujol
2011-06-16 15:15 ` J. R. Okajima
2011-06-16 16:09 ` Miklos Szeredi
2011-06-16 22:59 ` J. R. Okajima
2011-07-08 14:40 ` Miklos Szeredi
2011-07-09 12:18 ` J. R. Okajima
2011-07-15 10:59 ` Miklos Szeredi
[not found] ` <b624059d70d546d4a4ecb940613235ab@HUBCAS2.cs.stonybrook.edu>
[not found] ` <BF42D8D9-B947-448A-8818-BCA786E75325@fsl.cs.sunysb.edu>
2011-06-16 23:41 ` J. R. Okajima
[not found] ` <ab75a25c918145569b721dea9aea5506@HUBCAS2.cs.stonybrook.edu>
[not found] ` <BF19F4F8-9E0F-4983-87C1-BB1B0A11D011@fsl.cs.sunysb.edu>
2011-06-17 1:49 ` J. R. Okajima
[not found] <20110609125114.8dff08da.akpm@linux-foundation.org>
2011-06-10 6:57 ` Fw: " Valerie Aurora
2011-06-10 9:01 ` Alan Cox
2011-06-15 11:19 ` Miklos Szeredi
2011-06-15 14:32 ` J. R. Okajima
2011-06-15 15:49 ` Miklos Szeredi
2011-06-15 16:14 ` J. R. Okajima
2011-06-15 17:20 ` Michal Suchanek
2011-06-15 18:12 ` Miklos Szeredi
2011-06-16 2:43 ` J. R. Okajima
2011-06-16 10:35 ` Michal Suchanek
2011-06-16 15:15 ` J. R. Okajima
2011-06-17 7:38 ` Michal Suchanek
2011-06-20 0:43 ` J. R. Okajima
[not found] ` <803fd88dc28748428861b75afdee3575@HUBCAS1.cs.stonybrook.edu>
2011-06-16 0:44 ` Erez Zadok
2011-06-16 3:07 ` J. R. Okajima
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='CAL1oBhrt38rSQHC03AZP5b3R=2PfguJ-VLQhPXX3aqtes3iUXw@mail.gmail.com' \
--to=tomas@slax.org \
--cc=akpm@linux-foundation.org \
--cc=apw@canonical.com \
--cc=ezk@fsl.cs.sunysb.edu \
--cc=hooanon05@yahoo.co.jp \
--cc=hramrach@centrum.cz \
--cc=jordipujolp@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=nbd@openwrt.org \
--cc=neilb@suse.de \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
/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).