{"push_id":1427205351,"size":47,"distinct_size":1,"ref":"refs/heads/redirect_fh-wip","head":"9eff01a80e387f554e61e6e91faf7925807c06dd","before":"be75912a634beca050bc94d1d2b5fa077b16b552","commits":[{"sha":"71e46ec5875fece12ffa771ac4210b1e28949e7a","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: update doc\n\nThe quirk for file locks and leases no longer applies.\n\nAdd missing info about renaming directory residing on lower layer.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/71e46ec5875fece12ffa771ac4210b1e28949e7a"},{"sha":"9d0254372e82afdcc6623d584dac694073e5a7e8","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"Revert \"ovl: get_write_access() in truncate\"\n\nThis reverts commit 03bea60409328de54e4ff7ec41672e12a9cb0908.\n\nCommit 4d0c5ba2ff79 (\"vfs: do get_write_access() on upper layer of\noverlayfs\") makes the writecount checks inside overlayfs superfluous, the\nfile is already copied up and write access acquired on the upper inode when\novl_setattr is called with ATTR_SIZE.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/9d0254372e82afdcc6623d584dac694073e5a7e8"},{"sha":"de2729d87401ef62e881d11ce5f283741f4a37bd","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"Revert \"af_unix: fix hard linked sockets on overlay\"\n\nThis reverts commit eb0a4a47ae89aaa0674ab3180de6a162f3be2ddf.\n\nSince commit 51f7e52dc943 (\"ovl: share inode for hard link\") there's no\nneed to call d_real_inode() to check two overlay inodes for equality.\n\nSide effect of this revert is that it's no longer possible to connect one\nsocket on overlayfs to one on the underlying layer (something which didn't\nmake sense anyway).\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/de2729d87401ef62e881d11ce5f283741f4a37bd"},{"sha":"a6299c5eba823d232b1f095376e8574fc2b84f19","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"Revert \"vfs: rename: check backing inode being equal\"\n\nThis reverts commit 9409e22acdfc9153f88d9b1ed2bd2a5b34d2d3ca.\n\nSince commit 51f7e52dc943 (\"ovl: share inode for hard link\") there's no\nneed to call d_real_inode() to check two overlay inodes for equality.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/a6299c5eba823d232b1f095376e8574fc2b84f19"},{"sha":"bce24b8e82516206dbbfb3c960d2d9caa9ba2316","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"vfs: mnt_want_write_file() should freeze protect underlying sb\n\nIf mnt_want_write_file() is called from filesystem code (which is the vast\nmajority of the cases), then we get freeze protection on the overlay but\nnot on the underlying filesystem.\n\nThis is wrong, we do need freeze protection on the unerlying fs and don't\nneed it on the overlay.\n\nHaving freeze protection on the overlay doesn't hurt, but currently there's\nno way to freeze the overlay so this issue is moot.\n\nThere are a small number of exceptions where we want to preserve the old\nbehavior of mnt_want_write_file(): fchown, fsetxattr, fremovexattr.  These\nget freeze protection on the underlying fs inside the relevant overlayfs\ni_op.\n\nThis patch is a no-op for anything other then overlayfs.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/bce24b8e82516206dbbfb3c960d2d9caa9ba2316"},{"sha":"2d2e9b5ca43ae074d0a9ffc57a9f431b673c61b7","author":{"name":"Amir Goldstein","email":"277f43bb72a234c3e1a2ebf99cab6cce837b1bea@gmail.com"},"message":"vfs: allow vfs_clone_file_range() across mount points\n\nFICLONE/FICLONERANGE ioctls return -EXDEV if src and dest\nfiles are not on the same mount point.\nPractically, clone only requires that src and dest files\nare on the same file system.\n\nMove the check for same mount point to ioctl handler and keep\nonly the check for same super block in the vfs helper.\n\nA following patch is going to use the vfs_clone_file_range()\nhelper in overlayfs to copy up between lower and upper\nmount points on the same file system.\n\nSigned-off-by: Amir Goldstein <amir73il@gmail.com>\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/2d2e9b5ca43ae074d0a9ffc57a9f431b673c61b7"},{"sha":"cbce920ed235891c05f9d3129f8be99761c9bba6","author":{"name":"Amir Goldstein","email":"277f43bb72a234c3e1a2ebf99cab6cce837b1bea@gmail.com"},"message":"vfs: call vfs_clone_file_range() under mnt_want_write()\n\nMove mnt_want_write() out of the vfs helper and up into the ioctl handler.\n\nSigned-off-by: Amir Goldstein <amir73il@gmail.com>\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/cbce920ed235891c05f9d3129f8be99761c9bba6"},{"sha":"bad0520bd6a6056baf78e21e8dda5d1d1022831c","author":{"name":"Amir Goldstein","email":"277f43bb72a234c3e1a2ebf99cab6cce837b1bea@gmail.com"},"message":"vfs: fix vfs_clone_file_range() for overlayfs files\n\nWith overlayfs, it is wrong to compare file_inode(inode)->i_sb\nof regular files with those of non-regular files, because the\nformer reference the real (upper/lower) sb and the latter reference\nthe overlayfs sb.\n\nMove the test for same super block after the sanity tests for\nclone range of directory and non-regular file.\n\nThis change fixes xfstest generic/157, which returned EXDEV instead\nof EISDIR/EINVAL in the following test cases over overlayfs:\n\n  echo \"Try to reflink a dir\"\n  _reflink_range $testdir1/dir1 0 $testdir1/file2 0 $blksz\n\n  echo \"Try to reflink a device\"\n  _reflink_range $testdir1/dev1 0 $testdir1/file2 0 $blksz\n\nSigned-off-by: Amir Goldstein <amir73il@gmail.com>\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/bad0520bd6a6056baf78e21e8dda5d1d1022831c"},{"sha":"ded2c35599ff1ae502b0535c10fb1e17dbbd2ae6","author":{"name":"Amir Goldstein","email":"277f43bb72a234c3e1a2ebf99cab6cce837b1bea@gmail.com"},"message":"ovl: use vfs_clone_file_range() for copy up if possible\n\nWhen copying up within the same fs, try to use vfs_clone_file_range().\nThis is very efficient when lower and upper are on the same fs\nwith file reflink support. If vfs_clone_file_range() fails for any\nreason, copy up falls back to the regular data copy code.\n\nTested correct behavior when lower and upper are on:\n1. same ext4 (copy)\n2. same xfs + reflink patches + mkfs.xfs (copy)\n3. same xfs + reflink patches + mkfs.xfs -m reflink=1 (reflink)\n4. different xfs + reflink patches + mkfs.xfs -m reflink=1 (copy)\n\nFor comparison, on my laptop, xfstest overlay/001 (copy up of large\nsparse files) takes less than 1 second in the xfs reflink setup vs.\n25 seconds on the rest of the setups.\n\nSigned-off-by: Amir Goldstein <amir73il@gmail.com>\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/ded2c35599ff1ae502b0535c10fb1e17dbbd2ae6"},{"sha":"ef487d69da1b7f619564698c7112c20fe942bd7a","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: rename ovl_rename2() to ovl_rename()\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/ef487d69da1b7f619564698c7112c20fe942bd7a"},{"sha":"b162c2a1fcbd55c3694a8234f62a39f50085a8c5","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: treat special files like a regular fs\n\nNo sense in opening special files on the underlying layers, they work just\nas well if opened on the overlay.\n\nSide effect is that it's no longer possible to connect one side of a pipe\nopened on overlayfs with the other side opened on the underlying layer.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/b162c2a1fcbd55c3694a8234f62a39f50085a8c5"},{"sha":"c7b93dbf764de1b02c5d9df07d45b601bfccf8f0","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: don't check rename to self\n\nThis is redundant, the vfs already performed this check (and was broken,\nsee commit 9409e22acdfc (\"vfs: rename: check backing inode being equal\")).\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/c7b93dbf764de1b02c5d9df07d45b601bfccf8f0"},{"sha":"fd6bae7f8c4fc151f8405cae3534075b39d544bc","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: don't check sticky\n\nSince commit 07a2daab49c5 (\"ovl: Copy up underlying inode's ->i_mode to\noverlay inode\") sticky checking on overlay inode is performed by the vfs,\nso checking against sticky on underlying inode is not needed.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/fd6bae7f8c4fc151f8405cae3534075b39d544bc"},{"sha":"7604480448a6c4c6a364ade7a0bb93491fea0d78","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: add ovl_dentry_is_whiteout()\n\nAnd use it instead of ovl_dentry_is_opaque() where appropriate.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/7604480448a6c4c6a364ade7a0bb93491fea0d78"},{"sha":"c9f39f955a6a2022b5240c9e5d4bf5fe1ec86f5c","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: check lower existence when removing\n\nCurrently ovl_lookup() checks existence of lower file even if there's a\nnon-directory on upper (which is always opaque).  This is done so that\nremove can decide whether a whiteout is needed or not.\n\nIt would be better to defer this check to unlink, since most of the time\nthe gathered information about opaqueness will be unused.\n\nThis adds a helper ovl_lower_positive() that checks if there's anything on\nthe lower layer(s).\n\nThe following patches also introduce changes to how the \"opaque\" attribute\nis updated on directories: this attribute is added when the directory is\ncreted or moved over a whiteout or object covering something on the lower\nlayer.  However following changes will allow the attribute to remain on the\ndirectory after being moved, even if the new location doesn't cover\nanything.  Because of this, we need to check lower layers even for opaque\ndirectories, so that whiteout is only created when necessary.\n\nThis function will later be also used to decide about marking a directory\nopaque, so deal with negative dentries as well.  When dealing with\nnegative, it's enough to check for being a whiteout\n\nIf the dentry is positive but not upper then it also obviously needs\nwhiteout/opaque.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/c9f39f955a6a2022b5240c9e5d4bf5fe1ec86f5c"},{"sha":"da8e5a83c82ea840b612138a0998e490cc11fc90","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: get rid of PURE type\n\nThe remainging uses of __OVL_PATH_PURE can be replaced by\novl_dentry_is_opaque().\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/da8e5a83c82ea840b612138a0998e490cc11fc90"},{"sha":"b679d8d7f7c3f8a40ba8eb610576914153d5efbe","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: rename: simplify handling of lower/merged directory\n\nd_is_dir() is safe to call on a negative dentry.  Use this fact to simplify\nhandling of the lower or merged directories.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/b679d8d7f7c3f8a40ba8eb610576914153d5efbe"},{"sha":"3c66ac86b7f7690b04796ea41f23a712aaa5f829","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: check lower existence of rename target\n\nCheck if something exists on the lower layer(s) under the target or rename\nto decide if directory needs to be marked \"opaque\".\n\nMarking opaque is done before the rename, and on failure the marking was\nundone.  Also the opaque xattr was removed if the target didn't cover\nanything.\n\nThis patch changes behavior so that removal of \"opaque\" is not done in\neither of the above cases.  This means that directory may have the opaque\nflag even if it doesn't cover anything.  However this shouldn't affect the\nperformance or semantics of the overalay, while simplifying the code.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/3c66ac86b7f7690b04796ea41f23a712aaa5f829"},{"sha":"e83a4fcca231354263b42a46eed77b69ac0605a7","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: simplify lookup\n\nIf encountering a non-directory, then stop looking at lower layers.\n\nIn this case the oe->opaque flag is not set anymore, which doesn't matter\nsince existence of lower file is now checked at remove/rename time.\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/e83a4fcca231354263b42a46eed77b69ac0605a7"},{"sha":"2b88841daa0d0bcaee391c8420f76caa839ee20d","author":{"name":"Miklos Szeredi","email":"c27ee2952768e22f4d3ab9aec0e78ac5f4ddea98@redhat.com"},"message":"ovl: use d_is_dir()\n\nSigned-off-by: Miklos Szeredi <mszeredi@redhat.com>","distinct":false,"url":"https://api.github.com/repos/amir73il/linux/commits/2b88841daa0d0bcaee391c8420f76caa839ee20d"}]}
{"actor":{"display_login":"amir73il"}}