All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/23] Overlayfs consistency verification with full index
@ 2018-01-04 16:39 Amir Goldstein
  2018-01-04 16:39 ` [PATCH v2 01/23] ovl: disable index when no xattr support Amir Goldstein
                   ` (23 more replies)
  0 siblings, 24 replies; 76+ messages in thread
From: Amir Goldstein @ 2018-01-04 16:39 UTC (permalink / raw)
  To: Miklos Szeredi; +Cc: zhangyi, linux-unionfs

Miklos,

This is the 2nd revision of the prep patch series for NFS export.
I am posing the prep patches only to overlayfs list and will post
NFS export implementation to fsdevel.

In the 1st revision the mount option 'index=all' was used to request
a full index. This revision re-brands the feature as 'verify=on',
including a config/module option and documentation that explains the
benefits of full index (i.e. avoid multiple redirect).

The prep series goes on a bit beyond implementation of 'verify=on'.
Patches 17-23 create the whiteout index entries and make some more
changes that are prerequisites for NFS export implementation.

To sanity test full index, I have implemented _overlay_check_fs()
helper for xfstests [3], which is a very basic "fsck" of the index dir.
This helper is called at the end of each overlay xfstest to verify the
sanity of the index entries. There is also a new test to verify multiple
redirect dir is detected on lookup.

The series is based on top of my ovl-fixes [1] branch, which includes
some patches I had already posted. The complete NFS export work is
available here [2].

Amir.

[1] https://github.com/amir73il/linux/commits/ovl-fixes
[2] https://github.com/amir73il/linux/commits/ovl-nfs-export-v2
[3] https://github.com/amir73il/xfstests/commits/ovl-index-all

Amir Goldstein (23):
  ovl: disable index when no xattr support
  ovl: ignore index mount option when no upper layer
  ovl: store layer index in ovl_layer
  ovl: factor out ovl_check_origin_fh()
  ovl: pass ovl_layer array to ovl_check_origin_fh()
  ovl: add support for "verify" feature
  ovl: verify stored origin fh matches lower dir
  ovl: unbless lower st_ino of files under unverified redirected dir
  ovl: lookup index for directories
  ovl: verify whiteout index entries on mount
  ovl: verify directory index entries on mount
  ovl: cleanup temp index entries
  ovl: create ovl_need_index() helper
  ovl: index all files on copy up with 'verify=on'
  ovl: index directories on copy up with 'verify=on'
  ovl: cleanup dir index when dir nlink drops to zero
  ovl: whiteout index when union nlink drops to zero
  ovl: whiteout orphan index entries on mount
  ovl: factor out ovl_get_index_fh() helper
  ovl: do not pass overlay dentry to ovl_get_inode()
  ovl: grab i_count reference of lower inode
  ovl: use d_splice_alias() in place of d_add() in lookup
  ovl: copy up of disconnected dentries

 Documentation/filesystems/overlayfs.txt |  16 ++
 fs/dcache.c                             |   1 +
 fs/overlayfs/Kconfig                    |  18 ++
 fs/overlayfs/copy_up.c                  | 179 ++++++++++---
 fs/overlayfs/dir.c                      |  58 +++--
 fs/overlayfs/inode.c                    |  38 ++-
 fs/overlayfs/namei.c                    | 442 +++++++++++++++++++++++---------
 fs/overlayfs/overlayfs.h                |  29 ++-
 fs/overlayfs/ovl_entry.h                |   3 +
 fs/overlayfs/readdir.c                  |  37 ++-
 fs/overlayfs/super.c                    |  74 ++++--
 fs/overlayfs/util.c                     |  94 +++++--
 12 files changed, 752 insertions(+), 237 deletions(-)

-- 
2.7.4

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

end of thread, other threads:[~2018-01-11 16:55 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-04 16:39 [PATCH v2 00/23] Overlayfs consistency verification with full index Amir Goldstein
2018-01-04 16:39 ` [PATCH v2 01/23] ovl: disable index when no xattr support Amir Goldstein
2018-01-04 16:39 ` [PATCH v2 02/23] ovl: ignore index mount option when no upper layer Amir Goldstein
2018-01-04 18:42   ` Vivek Goyal
2018-01-04 19:39     ` Amir Goldstein
2018-01-04 20:05       ` Vivek Goyal
2018-01-04 16:39 ` [PATCH v2 03/23] ovl: store layer index in ovl_layer Amir Goldstein
2018-01-04 21:00   ` Vivek Goyal
2018-01-05  5:05     ` Amir Goldstein
2018-01-05 11:22       ` Amir Goldstein
2018-01-05 15:00         ` Vivek Goyal
2018-01-05 17:51           ` Amir Goldstein
2018-01-09  8:36         ` Miklos Szeredi
2018-01-05 14:57       ` Vivek Goyal
2018-01-04 16:39 ` [PATCH v2 04/23] ovl: factor out ovl_check_origin_fh() Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 05/23] ovl: pass ovl_layer array to ovl_check_origin_fh() Amir Goldstein
2018-01-04 22:35   ` Vivek Goyal
2018-01-05  5:26     ` Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 06/23] ovl: add support for "verify" feature Amir Goldstein
2018-01-05 15:43   ` Vivek Goyal
2018-01-05 15:47     ` Amir Goldstein
2018-01-05 15:48       ` Amir Goldstein
2018-01-05 16:39       ` Vivek Goyal
2018-01-05 17:07         ` Amir Goldstein
2018-01-05 19:07           ` Vivek Goyal
2018-01-05 20:20             ` Amir Goldstein
2018-01-05 20:37               ` Amir Goldstein
2018-01-09  9:16   ` Miklos Szeredi
2018-01-09  9:54     ` Amir Goldstein
2018-01-09 10:07       ` Miklos Szeredi
2018-01-09 10:44         ` Amir Goldstein
2018-01-09 10:50           ` Miklos Szeredi
2018-01-04 16:40 ` [PATCH v2 07/23] ovl: verify stored origin fh matches lower dir Amir Goldstein
2018-01-05 16:04   ` Vivek Goyal
2018-01-05 16:26     ` Amir Goldstein
2018-01-05 16:35       ` Vivek Goyal
2018-01-05 16:42         ` Amir Goldstein
2018-01-05 18:33           ` Vivek Goyal
2018-01-05 19:00             ` Amir Goldstein
2018-01-09  9:52   ` Miklos Szeredi
2018-01-09 10:04     ` Amir Goldstein
2018-01-09 10:17       ` Miklos Szeredi
2018-01-04 16:40 ` [PATCH v2 08/23] ovl: unbless lower st_ino of files under unverified redirected dir Amir Goldstein
2018-01-09 13:31   ` Miklos Szeredi
2018-01-09 14:24     ` Amir Goldstein
2018-01-09 14:28       ` Miklos Szeredi
2018-01-04 16:40 ` [PATCH v2 09/23] ovl: lookup index for directories Amir Goldstein
2018-01-09 14:49   ` Miklos Szeredi
2018-01-09 16:07     ` Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 10/23] ovl: verify whiteout index entries on mount Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 11/23] ovl: verify directory " Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 12/23] ovl: cleanup temp index entries Amir Goldstein
2018-01-09 15:25   ` Miklos Szeredi
2018-01-09 16:08     ` Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 13/23] ovl: create ovl_need_index() helper Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 14/23] ovl: index all files on copy up with 'verify=on' Amir Goldstein
2018-01-09 16:45   ` Vivek Goyal
2018-01-09 16:50     ` Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 15/23] ovl: index directories " Amir Goldstein
2018-01-09 16:08   ` Miklos Szeredi
2018-01-09 16:31     ` Amir Goldstein
2018-01-09 16:35       ` Miklos Szeredi
2018-01-09 16:48         ` Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 16/23] ovl: cleanup dir index when dir nlink drops to zero Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 17/23] ovl: whiteout index when union " Amir Goldstein
2018-01-09 16:28   ` Miklos Szeredi
2018-01-09 16:41     ` Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 18/23] ovl: whiteout orphan index entries on mount Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 19/23] ovl: factor out ovl_get_index_fh() helper Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 20/23] ovl: do not pass overlay dentry to ovl_get_inode() Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 21/23] ovl: grab i_count reference of lower inode Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 22/23] ovl: use d_splice_alias() in place of d_add() in lookup Amir Goldstein
2018-01-04 16:40 ` [PATCH v2 23/23] ovl: copy up of disconnected dentries Amir Goldstein
2018-01-11 14:47   ` Miklos Szeredi
2018-01-11 15:28     ` Amir Goldstein
2018-01-11 16:55 ` [PATCH v2 00/23] Overlayfs consistency verification with full index Amir Goldstein

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.