{"push_id":584534950,"size":230,"distinct_size":230,"ref":"refs/heads/master","head":"b24e2bdde4af656bb0679a101265ebb8f8735d3c","before":"93aaa830fc173560505c3411806509299d8871ce","commits":[{"sha":"49c21e1cacd74a8c83407c70ad860c994e606e25","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: check whiteout while reading directory\n\nDon't make a separate pass for checking whiteouts, since we can do it while\nreading the upper directory.\n\nThis will make it easier to handle multiple layers.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/49c21e1cacd74a8c83407c70ad860c994e606e25"},{"sha":"1afaba1ecb5299cdd0f69b5bad98b0185fe71e79","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: make path-type a bitmap\n\nOVL_PATH_PURE_UPPER -> __OVL_PATH_UPPER | __OVL_PATH_PURE\nOVL_PATH_UPPER      -> __OVL_PATH_UPPER\nOVL_PATH_MERGE      -> __OVL_PATH_UPPER | __OVL_PATH_MERGE\nOVL_PATH_LOWER      -> 0\n\nMultiple R/O layers will allow __OVL_PATH_MERGE without __OVL_PATH_UPPER.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/1afaba1ecb5299cdd0f69b5bad98b0185fe71e79"},{"sha":"263b4a0fee43f1239c4d6f3c3a62fb5a20d84f2e","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: dont replace opaque dir\n\nWhen removing an empty opaque directory, then it makes no sense to replace\nit with an exact replica of itself before removal.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/263b4a0fee43f1239c4d6f3c3a62fb5a20d84f2e"},{"sha":"dd662667e6d3e55b42798a6e6e7f37dddc639460","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: add mutli-layer infrastructure\n\nAdd multiple lower layers to 'struct ovl_fs' and 'struct ovl_entry'.\n\novl_entry will have an array of paths, instead of just the dentry.  This\nallows a compact array containing just the layers which exist at current\npoint in the tree (which is expected to be a small number for the majority\nof dentries).\n\nThe number of layers is not limited by this infrastructure.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/dd662667e6d3e55b42798a6e6e7f37dddc639460"},{"sha":"5ef88da56a77bfb3b9631f5e5775f3bff86b6219","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: helper to iterate layers\n\nAdd helper to iterate through all the layers, starting from the upper layer\n(if exists) and continuing down through the lower layers.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/5ef88da56a77bfb3b9631f5e5775f3bff86b6219"},{"sha":"9d7459d834c28f55c82f1737f638a6c90e0c0e0f","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: multi-layer readdir\n\nIf multiple lower layers exist, merge them as well in readdir according to\nthe same rules as merging upper with lower.  I.e. take whiteouts and opaque\ndirectories into account on all but the lowers layer.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/9d7459d834c28f55c82f1737f638a6c90e0c0e0f"},{"sha":"3d3c6b89399a1b5e8a59ffbb8cb2a7797a9ef154","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: multi-layer lookup\n\nLook up dentry in all relevant layers.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/3d3c6b89399a1b5e8a59ffbb8cb2a7797a9ef154"},{"sha":"3e01cee3b980f96463cb6f378ab05303a99903d9","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: check whiteout on lowest layer as well\n\nNot checking whiteouts on lowest layer was an optimization (there's nothing\nto white out there), but it could result in inconsitent behavior when a\nlayer previously used as upper/middle is later used as lowest. \n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/3e01cee3b980f96463cb6f378ab05303a99903d9"},{"sha":"09e10322b71716adf567d453889ef0871cf226b9","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: lookup ENAMETOOLONG on lower means ENOENT\n\n\"Suppose you have in one of the lower layers a filesystem with\n->lookup()-enforced upper limit on name length.  Pretty much every local fs\nhas one, but... they are not all equal.  255 characters is the common upper\nlimit, but e.g. jffs2 stops at 254, minixfs upper limit is somewhere from\n14 to 60, depending upon version, etc.  You are doing a lookup for\nsomething that is present in upper layer, but happens to be too long for\none of the lower layers.  Too bad - ENAMETOOLONG for you...\"\n\nReported-by: Al Viro <viro@ZenIV.linux.org.uk>\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/09e10322b71716adf567d453889ef0871cf226b9"},{"sha":"4ebc581828d5d0fe189ca06cef8b7a63cb4583d5","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: allow statfs if no upper layer\n\nHandle \"no upper layer\" case in statfs.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/4ebc581828d5d0fe189ca06cef8b7a63cb4583d5"},{"sha":"3b7a9a249a93e68b7bb318de40e64d3b68ba1a6d","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: mount: change order of initialization\n\nMove allocation of root entry above to where it's needed.\n\nMove initializations related to upperdir and workdir near each other.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/3b7a9a249a93e68b7bb318de40e64d3b68ba1a6d"},{"sha":"ab508822cab4c84f07373cd6ad107a1fd1362831","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: improve mount helpers\n\nMove common checks into ovl_mount_dir() helper.\n\nCreate helper for looking up lower directories.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/ab508822cab4c84f07373cd6ad107a1fd1362831"},{"sha":"53a08cb9b8bccfe58f1228c7c27baf34a83da78b","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: make upperdir optional\n\nMake \"upperdir=\" mount option optional.  If \"upperdir=\" is not given, then\nthe \"workdir=\" option is also optional (and ignored if given).\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/53a08cb9b8bccfe58f1228c7c27baf34a83da78b"},{"sha":"a78d9f0d5d5ca9054703376c7c23c901807ddd87","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: support multiple lower layers\n\nAllow \"lowerdir=\" option to contain multiple lower directories separated by\na colon (e.g. \"lowerdir=/bin:/usr/bin\").  Colon characters in filenames can\nbe escaped with a backslash.\n\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/a78d9f0d5d5ca9054703376c7c23c901807ddd87"},{"sha":"1ba38725a351f91769918b132c17fb7fcaf6c2f5","author":{"email":"8cccc8a0252a9ef1c303b177e69000167d8d42b6@huawei.com","name":"hujianyang"},"message":"ovl: Cleanup redundant blank lines\n\nThis patch removes redundant blanks lines in overlayfs.\n\nSigned-off-by: hujianyang <hujianyang@huawei.com>\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/1ba38725a351f91769918b132c17fb7fcaf6c2f5"},{"sha":"cead89bb08c0f64e23886f1c18df9bb98e97c55c","author":{"email":"8cccc8a0252a9ef1c303b177e69000167d8d42b6@huawei.com","name":"hujianyang"},"message":"ovl: Use macros to present ovl_xattr\n\nThis patch adds two macros:\n\nOVL_XATTR_PRE_NAME and OVL_XATTR_PRE_LEN\n\nto present ovl_xattr name prefix and its length. Also, a\nnew macro OVL_XATTR_OPAQUE is introduced to replace old\n*ovl_opaque_xattr*.\n\nFix the length of \"trusted.overlay.\" to *16*.\n\nSigned-off-by: hujianyang <hujianyang@huawei.com>\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/cead89bb08c0f64e23886f1c18df9bb98e97c55c"},{"sha":"2b7a8f36f092a7855f6438cd42d6990394f450fa","author":{"email":"84cd5483a2f9acd1c37251cba7c2908448f221b8@suse.cz","name":"Miklos Szeredi"},"message":"ovl: add testsuite to docs\n\nReported-by: Sedat Dilek <sedat.dilek@gmail.com>\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/2b7a8f36f092a7855f6438cd42d6990394f450fa"},{"sha":"2f83fd8c2849a388082f30d755a75c1e67c4643b","author":{"email":"8cccc8a0252a9ef1c303b177e69000167d8d42b6@huawei.com","name":"hujianyang"},"message":"ovl: Fix kernel panic while mounting overlayfs\n\nThe function ovl_fill_super() in recently multi-layer support\nversion will incorrectly return 0 at error handling path and\nthen cause kernel panic.\n\nThis failure can be reproduced by mounting a overlayfs with\nupperdir and workdir in different mounts.\n\nAnd also, If the memory allocation of *lower_mnt* fail, this\nfunction may return an zero either.\n\nThis patch fix this problem by setting *err* to proper error\nnumber before jumping to error handling path.\n\nSigned-off-by: hujianyang <hujianyang@huawei.com>\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/2f83fd8c2849a388082f30d755a75c1e67c4643b"},{"sha":"a425c037f3dd8a56469158ab5f37beb46402d958","author":{"email":"8cccc8a0252a9ef1c303b177e69000167d8d42b6@huawei.com","name":"hujianyang"},"message":"ovl: Fix opaque regression in ovl_lookup\n\nCurrent multi-layer support overlayfs has a regression in\n.lookup(). If there is a directory in upperdir and a regular\nfile has same name in lowerdir in a merged directory, lower\nfile is hidden and upper directory is set to opaque in former\ncase. But it is changed in present code.\n\nIn lowerdir lookup path, if a found inode is not directory,\nthe type checking of previous inode is missing. This inode\nwill be copied to the lowerstack of ovl_entry directly.\n\nThat will lead to several wrong conditions, for example,\nthe reading of the directory in upperdir may return an error\nlike:\n\n   ls: reading directory .: Not a directory\n\nThis patch makes the lowerdir lookup path check the opaque\nfor non-directory file too.\n\nSigned-off-by: hujianyang <hujianyang@huawei.com>\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/a425c037f3dd8a56469158ab5f37beb46402d958"},{"sha":"3cdf6fe91041b3afd6761f76254f7b6cbe8020fc","author":{"email":"872bbc2eaa92280c479251a47928550523b595b1@gmail.com","name":"Seunghun Lee"},"message":"ovl: Prevent rw remount when it should be ro mount\n\nOverlayfs should be mounted read-only when upper-fs is read-only or nonexistent.\nBut now it can be remounted read-write and this can cause kernel panic.\nSo we should prevent read-write remount when the above situation happens.\n\nSigned-off-by: Seunghun Lee <waydi1@gmail.com>\nSigned-off-by: Miklos Szeredi <mszeredi@suse.cz>","distinct":true,"url":"https://api.github.com/repos/cyphar/linux/commits/3cdf6fe91041b3afd6761f76254f7b6cbe8020fc"}]}