All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v15 00/30] overlayfs: Delayed copy up of data
@ 2018-05-07 17:40 Vivek Goyal
  2018-05-07 17:40 ` [PATCH v15 01/30] ovl: Pass argument to ovl_get_inode() in a structure Vivek Goyal
                   ` (31 more replies)
  0 siblings, 32 replies; 77+ messages in thread
From: Vivek Goyal @ 2018-05-07 17:40 UTC (permalink / raw)
  To: linux-unionfs; +Cc: miklos, amir73il, vgoyal

Hi,

This is V15 of overlayfs metadata only copy-up feature. These patches I
have rebased on top of Miklos overlayfs-next tree's branch overlayfs-rorw.

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

Patches are also available here.

https://github.com/rhvgoyal/linux/commits/metacopy-v15

I have run unionmount-testsuite and "./check -overlay -g quick" and that
works. Only 4 overlay tests fail, which fail on vanilla kernel too.

Changes from V14:

- Rebased on top of latest overlayfs-rorw branch.
- Took care of amir's comments on V14.
- Started passing arguments to ovl_get_inode() in a structure, as
  argument list was getting too long.
- Simplified ovl_fsync() and helper patches a bit.
- unioned new field lowerdata with dir cache. 
- Renamed few helper functions with suffix _realdata instead of
- Renamed ovl_rel_redirect() to ovl_need_absolute_redirect() and also
  now started calling it from ovl_set_redirect() instead of calling
  from ovl_reaname() directly.
- Added argument padding to ovl_get_redirect_xattr() and reused this
  function in ovl_check_redirect().
- Added a helper funciton ovl_copy_up_with_data() to force full copy
  up (metadata plus data).

Thanks
Vivek

Vivek Goyal (30):
  ovl: Pass argument to ovl_get_inode() in a structure
  ovl: Initialize ovl_inode->redirect in ovl_get_inode()
  ovl: Move the copy up helpers to copy_up.c
  ovl: Provide a mount option metacopy=on/off for metadata copyup
  ovl: During copy up, first copy up metadata and then data
  ovl: Copy up only metadata during copy up where it makes sense
  ovl: Add helper ovl_already_copied_up()
  ovl: A new xattr OVL_XATTR_METACOPY for file on upper
  ovl: Use out_err instead of out_nomem
  ovl: Modify ovl_lookup() and friends to lookup metacopy dentry
  ovl: Copy up meta inode data from lowest data inode
  ovl: Add helper ovl_dentry_lowerdata() to get lower data dentry
  ovl: Add an helper to get real data dentry
  ovl: Fix ovl_getattr() to get number of blocks from lower
  ovl: Store lower data inode in ovl_inode
  ovl: Add helper ovl_inode_real_data()
  ovl: Open file with data except for the case of fsync
  ovl: Do not expose metacopy only dentry from d_real()
  ovl: Move some dir related ovl_lookup_single() code in else block
  ovl: Check redirects for metacopy files
  ovl: Treat metacopy dentries as type OVL_PATH_MERGE
  ovl: Add an inode flag OVL_CONST_INO
  ovl: Do not set dentry type ORIGIN for broken hardlinks
  ovl: Set redirect on metacopy files upon rename
  ovl: Set redirect on upper inode when it is linked
  ovl: Check redirect on index as well
  ovl: Disbale metacopy for MAP_SHARED mmap()
  ovl: Do not do metadata only copy-up for truncate operation
  ovl: Do not do metacopy only for ioctl modifying file attr
  ovl: Enable metadata only feature

 Documentation/filesystems/overlayfs.txt |  30 +++-
 fs/overlayfs/Kconfig                    |  19 +++
 fs/overlayfs/copy_up.c                  | 161 ++++++++++++++++-----
 fs/overlayfs/dir.c                      |  85 ++++++++---
 fs/overlayfs/export.c                   |   8 +-
 fs/overlayfs/file.c                     |  53 ++++---
 fs/overlayfs/inode.c                    | 131 ++++++++++-------
 fs/overlayfs/namei.c                    | 199 ++++++++++++++++---------
 fs/overlayfs/overlayfs.h                |  36 ++++-
 fs/overlayfs/ovl_entry.h                |  16 +-
 fs/overlayfs/super.c                    |  60 +++++++-
 fs/overlayfs/util.c                     | 249 +++++++++++++++++++++++++++++++-
 12 files changed, 829 insertions(+), 218 deletions(-)

-- 
2.13.6

^ permalink raw reply	[flat|nested] 77+ messages in thread

end of thread, other threads:[~2018-05-23 20:00 UTC | newest]

Thread overview: 77+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-07 17:40 [PATCH v15 00/30] overlayfs: Delayed copy up of data Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 01/30] ovl: Pass argument to ovl_get_inode() in a structure Vivek Goyal
2018-05-07 19:26   ` Amir Goldstein
2018-05-07 20:37     ` Vivek Goyal
2018-05-08  4:45       ` Amir Goldstein
2018-05-08 13:45     ` Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 02/30] ovl: Initialize ovl_inode->redirect in ovl_get_inode() Vivek Goyal
2018-05-08 13:56   ` Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 03/30] ovl: Move the copy up helpers to copy_up.c Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 04/30] ovl: Provide a mount option metacopy=on/off for metadata copyup Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 05/30] ovl: During copy up, first copy up metadata and then data Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 06/30] ovl: Copy up only metadata during copy up where it makes sense Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 07/30] ovl: Add helper ovl_already_copied_up() Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 08/30] ovl: A new xattr OVL_XATTR_METACOPY for file on upper Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 09/30] ovl: Use out_err instead of out_nomem Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 10/30] ovl: Modify ovl_lookup() and friends to lookup metacopy dentry Vivek Goyal
2018-05-07 19:14   ` Amir Goldstein
2018-05-10  9:19   ` Miklos Szeredi
2018-05-10  9:36     ` Miklos Szeredi
2018-05-10  9:52       ` Miklos Szeredi
2018-05-10 13:17       ` Vivek Goyal
2018-05-10 15:32       ` Vivek Goyal
2018-05-10 20:21         ` Miklos Szeredi
2018-05-10 13:14     ` Vivek Goyal
2018-05-10 14:43       ` Amir Goldstein
2018-05-10 19:42         ` Vivek Goyal
2018-05-10 19:39     ` Vivek Goyal
2018-05-10 20:13       ` Miklos Szeredi
2018-05-11  7:29         ` Miklos Szeredi
2018-05-11  7:52           ` Amir Goldstein
2018-05-11  8:13             ` Miklos Szeredi
2018-05-11 12:28               ` Vivek Goyal
2018-05-11 14:30   ` Vivek Goyal
2018-05-11 15:05     ` Amir Goldstein
2018-05-11 15:14       ` Vivek Goyal
2018-05-11 15:52   ` Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 11/30] ovl: Copy up meta inode data from lowest data inode Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 12/30] ovl: Add helper ovl_dentry_lowerdata() to get lower data dentry Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 13/30] ovl: Add an helper to get real " Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 14/30] ovl: Fix ovl_getattr() to get number of blocks from lower Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 15/30] ovl: Store lower data inode in ovl_inode Vivek Goyal
2018-05-07 18:59   ` Amir Goldstein
2018-05-08 13:47     ` Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 16/30] ovl: Add helper ovl_inode_real_data() Vivek Goyal
2018-05-07 18:18   ` Amir Goldstein
2018-05-07 17:40 ` [PATCH v15 17/30] ovl: Open file with data except for the case of fsync Vivek Goyal
2018-05-07 19:47   ` Amir Goldstein
2018-05-07 20:59     ` Vivek Goyal
2018-05-08  5:26       ` Amir Goldstein
2018-05-08 12:50         ` Vivek Goyal
2018-05-08 14:14           ` Amir Goldstein
2018-05-08 14:26             ` Vivek Goyal
2018-05-08 15:04               ` Amir Goldstein
2018-05-07 17:40 ` [PATCH v15 18/30] ovl: Do not expose metacopy only dentry from d_real() Vivek Goyal
2018-05-07 19:39   ` Amir Goldstein
2018-05-07 17:40 ` [PATCH v15 19/30] ovl: Move some dir related ovl_lookup_single() code in else block Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 20/30] ovl: Check redirects for metacopy files Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 21/30] ovl: Treat metacopy dentries as type OVL_PATH_MERGE Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 22/30] ovl: Add an inode flag OVL_CONST_INO Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 23/30] ovl: Do not set dentry type ORIGIN for broken hardlinks Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 24/30] ovl: Set redirect on metacopy files upon rename Vivek Goyal
2018-05-07 18:21   ` Amir Goldstein
2018-05-07 17:40 ` [PATCH v15 25/30] ovl: Set redirect on upper inode when it is linked Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 26/30] ovl: Check redirect on index as well Vivek Goyal
2018-05-07 18:43   ` Amir Goldstein
2018-05-08 12:58     ` Vivek Goyal
2018-05-07 17:40 ` [PATCH v15 27/30] ovl: Disbale metacopy for MAP_SHARED mmap() Vivek Goyal
2018-05-07 17:41 ` [PATCH v15 28/30] ovl: Do not do metadata only copy-up for truncate operation Vivek Goyal
2018-05-07 17:41 ` [PATCH v15 29/30] ovl: Do not do metacopy only for ioctl modifying file attr Vivek Goyal
2018-05-07 17:41 ` [PATCH v15 30/30] ovl: Enable metadata only feature Vivek Goyal
2018-05-07 18:10 ` [PATCH v15 00/30] overlayfs: Delayed copy up of data Amir Goldstein
2018-05-07 18:24   ` Vivek Goyal
2018-05-07 18:33     ` Amir Goldstein
2018-05-07 19:14       ` Vivek Goyal
2018-05-08 13:42 ` Vivek Goyal
2018-05-08 14:16   ` Amir Goldstein
2018-05-23 20:00     ` Vivek Goyal

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.