public inbox for linux-unionfs@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox