lkml.org 
[lkml]   [2014]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 00/13] overlay filesystem v22
Date
I'd like to propose this for 3.16.

Changes in v22:

- Whiteout is now a special char device instead of a symlink, this breaks
compatibility with previous versions. See attached conversion script (takes
upperdir as argument).

- Uses cross-rename to make operations atomic: copy-up, unlink, rename, etc...

- Added "workdir=" mount option. Work directory is used to prepare files
before atomically swithing with destination and needs to be on the same
filesystem as upperdir.

Git tree is here:

git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git overlayfs.current

Thanks,
Miklos

---
Andy Whitcroft (1):
overlayfs: add statfs support

Erez Zadok (1):
overlayfs: implement show_options

Miklos Szeredi (9):
vfs: add i_op->dentry_open()
vfs: export do_splice_direct() to modules
vfs: export __inode_permission() to modules
vfs: introduce clone_private_mount()
vfs: export check_sticky()
vfs: add whiteout support
vfs: add RENAME_WHITEOUT
overlay filesystem
fs: limit filesystem stacking depth

Neil Brown (1):
overlay: overlay filesystem documentation

Sedat Dilek (1):
vfs: dcache: Export d_ancestor to modules

---
Documentation/filesystems/Locking | 2 +
Documentation/filesystems/overlayfs.txt | 198 +++++++
Documentation/filesystems/vfs.txt | 7 +
MAINTAINERS | 7 +
fs/Kconfig | 1 +
fs/Makefile | 1 +
fs/btrfs/ioctl.c | 20 +-
fs/dcache.c | 1 +
fs/ecryptfs/main.c | 7 +
fs/ext4/namei.c | 99 +++-
fs/internal.h | 7 -
fs/namei.c | 41 +-
fs/namespace.c | 27 +
fs/open.c | 23 +-
fs/overlayfs/Kconfig | 10 +
fs/overlayfs/Makefile | 7 +
fs/overlayfs/copy_up.c | 427 +++++++++++++++
fs/overlayfs/dir.c | 886 ++++++++++++++++++++++++++++++++
fs/overlayfs/inode.c | 372 ++++++++++++++
fs/overlayfs/overlayfs.h | 185 +++++++
fs/overlayfs/readdir.c | 518 +++++++++++++++++++
fs/overlayfs/super.c | 776 ++++++++++++++++++++++++++++
fs/splice.c | 1 +
include/linux/fs.h | 44 ++
include/linux/mount.h | 3 +
include/uapi/linux/fs.h | 1 +
26 files changed, 3613 insertions(+), 58 deletions(-)
create mode 100644 Documentation/filesystems/overlayfs.txt
create mode 100644 fs/overlayfs/Kconfig
create mode 100644 fs/overlayfs/Makefile
create mode 100644 fs/overlayfs/copy_up.c
create mode 100644 fs/overlayfs/dir.c
create mode 100644 fs/overlayfs/inode.c
create mode 100644 fs/overlayfs/overlayfs.h
create mode 100644 fs/overlayfs/readdir.c
create mode 100644 fs/overlayfs/super.c


--- overlayfs-fixup.sh ---
#! /bin/bash

upper=$1
tmpdir=`mktemp -d`
tmp=$tmpdir/wh
find "$upper" -type l -print0 | while IFS= read -r -d $'\0' name; do
iswh=`getfattr -h -ntrusted.overlay.whiteout --only-values "$name" 2> /dev/null`
if test "$iswh" = y; then
echo "changing whiteout <$name> from symlink to chardev"
mknod -m0 $tmp c 0 0
mv -f $tmp "$name"
fi
done
rmdir $tmpdir


\
 
 \ /
  Last update: 2014-05-23 12:21    [W:0.311 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site