All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9 0/7] Overlayfs: constant st_ino/d_ino for non-samefs
@ 2018-03-29 14:18 Amir Goldstein
  2018-03-29 14:18 ` [PATCH v9 1/7] ovl: factor out ovl_map_dev_ino() helper Amir Goldstein
                   ` (7 more replies)
  0 siblings, 8 replies; 23+ messages in thread
From: Amir Goldstein @ 2018-03-29 14:18 UTC (permalink / raw)
  To: Miklos Szeredi; +Cc: linux-unionfs

Miklos,

This series provides a solution for some interesting non-samefs cases:
- All the ext* family
- Many other fs with default encode_fh
- xfs and tmpfs with overlay "xino" mount option

The patches are also available on my ovl-xino branch [2]. They are based
on some earlier fix patches and they do not conflict with the NFS export
optimization patches (ovl-nfs-export branch).

I tested this with upstream overlay/nonsamefs xfstest group:
- Tests pass for ext4
- Tests fail for xfs
- Tests pass for xfs with OVERLAY_MOUNT_OPTIONS=-oxino

I also added --xino option to unionmount-testsuite [2], along with
the --verify option, the test verifies constant st_ino and that all
objects are on overlay st_dev.

Changes since v8:
- Use unique fsid instead of layer id
- Assign pseudo_dev per fsid instead of per layer
- Limit "xino" feature to 64bit systems
- Assign xino value i_ino as well for NFSv3 readdir
- Add "xino" documentation patch

Thanks,
Amir.

[1] https://github.com/amir73il/linux/commits/ovl-xino
[2] https://github.com/amir73il/unionmount-testsuite/commits/overlayfs-devel

Amir Goldstein (7):
  ovl: factor out ovl_map_dev_ino() helper
  ovl: allocate anon bdev per unique lower fs
  ovl: constant st_ino for non-samefs with xino
  ovl: consistent i_ino for non-samefs with xino
  ovl: consistent d_ino for non-samefs with xino
  ovl: add support for "xino" mount option
  ovl: update documentation w.r.t "xino" feature

 Documentation/filesystems/overlayfs.txt |  39 +++++++--
 fs/overlayfs/export.c                   |   2 +-
 fs/overlayfs/inode.c                    | 140 +++++++++++++++++++++-----------
 fs/overlayfs/namei.c                    |   4 +-
 fs/overlayfs/overlayfs.h                |   6 +-
 fs/overlayfs/ovl_entry.h                |  21 +++--
 fs/overlayfs/readdir.c                  |  45 ++++++++--
 fs/overlayfs/super.c                    | 120 ++++++++++++++++++++++-----
 fs/overlayfs/util.c                     |  38 ++++++++-
 9 files changed, 318 insertions(+), 97 deletions(-)

-- 
2.7.4

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

end of thread, other threads:[~2018-04-25 15:35 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-29 14:18 [PATCH v9 0/7] Overlayfs: constant st_ino/d_ino for non-samefs Amir Goldstein
2018-03-29 14:18 ` [PATCH v9 1/7] ovl: factor out ovl_map_dev_ino() helper Amir Goldstein
2018-03-29 14:18 ` [PATCH v9 2/7] ovl: allocate anon bdev per unique lower fs Amir Goldstein
2018-03-29 14:18 ` [PATCH v9 3/7] ovl: constant st_ino for non-samefs with xino Amir Goldstein
2018-03-29 15:58   ` Miklos Szeredi
2018-03-29 16:42     ` Amir Goldstein
2018-03-29 18:26       ` Miklos Szeredi
2018-03-29 19:02         ` Amir Goldstein
2018-03-29 19:41           ` Miklos Szeredi
2018-03-29 19:49             ` Amir Goldstein
2018-03-29 20:04               ` Miklos Szeredi
2018-03-29 22:10                 ` Amir Goldstein
2018-03-29 14:18 ` [PATCH v9 4/7] ovl: consistent i_ino " Amir Goldstein
2018-03-29 14:18 ` [PATCH v9 5/7] ovl: consistent d_ino " Amir Goldstein
2018-03-29 14:18 ` [PATCH v9 6/7] ovl: add support for "xino" mount option Amir Goldstein
2018-03-29 15:28   ` Miklos Szeredi
2018-03-29 16:37     ` Amir Goldstein
2018-04-25 14:49   ` J. R. Okajima
2018-04-25 15:00     ` Amir Goldstein
2018-04-25 15:26       ` J. R. Okajima
2018-04-25 15:35         ` Amir Goldstein
2018-03-29 14:18 ` [PATCH v9 7/7] ovl: update documentation w.r.t "xino" feature Amir Goldstein
2018-03-29 14:24 ` [PATCH v9 0/7] Overlayfs: constant st_ino/d_ino for non-samefs 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.