stanford-rc / fuse-migratefs

Filesystem overlay for transparent, distributed migration of active data across separate storage systems.
GNU General Public License v3.0
39 stars 9 forks source link

Avoid copyup on touch #18

Open kcgthb opened 5 years ago

kcgthb commented 5 years ago

Treat open(..., O_FOLLOW) as a special case to avoid migrating files that are touched.

Make this an settable option, like #8 and #9

giuseppe commented 5 years ago

if it can be helpful, containers/fuse-overlayfs implemented copyup using reflinks (where the underlying file system supports it), so only the inode is created on touch.

thiell commented 5 years ago

@giuseppe that's a cool feature, but reflinks only work when you are on the same filesystem right, and also only with btrfs? In our case, lower and upper are different filesystems.

giuseppe commented 5 years ago

Yes correct, also xfs supports reflinks now. fuse-overlayfs doesn't enforce it but the lower and upper layer are supposed to be on the same file system. Otherwise how do you enforce that the inodes are different?

synnack commented 3 years ago

@giuseppe overlayfs for migrations or for read/write overlay on read only filesystem most certainly never have the lower and upper on the same file system. That's basically the whole point of migratefs.