<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>420a62dd - ovl: Move xattr support to new xattrs.c file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/overlayfs/Makefile#420a62dd</link>
        <description>ovl: Move xattr support to new xattrs.c fileThis moves the code from super.c and inode.c, and makes ovl_xattr_get/set()static.This is in preparation for doing more work on xattrs support.Signed-off-by: Alexander Larsson &lt;alexl@redhat.com&gt;Reviewed-by: Amir Goldstein &lt;amir73il@gmail.com&gt;Signed-off-by: Amir Goldstein &lt;amir73il@gmail.com&gt;

            List of files:
            /linux-6.15/fs/overlayfs/Makefile</description>
        <pubDate>Tue, 10 Oct 2023 11:17:59 +0000</pubDate>
        <dc:creator>Amir Goldstein &lt;amir73il@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b36a5780 - ovl: modify layer parameter parsing</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/overlayfs/Makefile#b36a5780</link>
        <description>ovl: modify layer parameter parsingWe ran into issues where mount(8) passed multiple lower layers as onebig string through fsconfig(). But the fsconfig() FSCONFIG_SET_STRINGoption is limited to 256 bytes in strndup_user(). While this would befixable by extending the fsconfig() buffer I&apos;d rather encourage users toappend layers via multiple fsconfig() calls as the interface allowsnicely for this. This has also been requested as a feature before.With this port to the new mount api the following will be possible:        fsconfig(fs_fd, FSCONFIG_SET_STRING, &quot;lowerdir&quot;, &quot;/lower1&quot;, 0);        /* set upper layer */        fsconfig(fs_fd, FSCONFIG_SET_STRING, &quot;upperdir&quot;, &quot;/upper&quot;, 0);        /* append &quot;/lower2&quot;, &quot;/lower3&quot;, and &quot;/lower4&quot; */        fsconfig(fs_fd, FSCONFIG_SET_STRING, &quot;lowerdir&quot;, &quot;:/lower2:/lower3:/lower4&quot;, 0);        /* turn index feature on */        fsconfig(fs_fd, FSCONFIG_SET_STRING, &quot;index&quot;, &quot;on&quot;, 0);        /* append &quot;/lower5&quot; */        fsconfig(fs_fd, FSCONFIG_SET_STRING, &quot;lowerdir&quot;, &quot;:/lower5&quot;, 0);Specifying &apos;:&apos; would have been rejected so this isn&apos;t a regression. Andwe can&apos;t simply use &quot;lowerdir=/lower&quot; to append on top of existinglayers as &quot;lowerdir=/lower,lowerdir=/other-lower&quot; would make&quot;/other-lower&quot; the only lower layer so we&apos;d break uapi if we changedthis. So the &apos;:&apos; prefix seems a good compromise.Users can choose to specify multiple layers at once or individuallayers. A layer is appended if it starts with &quot;:&quot;. This requires thatthe user has already added at least one layer before. If lowerdir isspecified again without a leading &quot;:&quot; then all previous layers aredropped and replaced with the new layers. If lowerdir is specified andempty than all layers are simply dropped.An additional change is that overlayfs will now parse and resolve layersright when they are specified in fsconfig() instead of deferring untilsuper block creation. This allows users to receive early errors.It also allows users to actually use up to 500 layers something whichwas theoretically possible but ended up not working due to the mountoption string passed via mount(2) being too large.This also allows a more privileged process to set config options for alesser privileged process as the creds for fsconfig() and the creds forfsopen() can differ. We could restrict that they match by enforcing thatthe creds of fsopen() and fsconfig() match but I don&apos;t see why thatneeds to be the case and allows for a good delegation mechanism.Plus, in the future it means we&apos;re able to extend overlayfs mountoptions and allow users to specify layers via file descriptors insteadof paths:        fsconfig(FSCONFIG_SET_PATH{_EMPTY}, &quot;lowerdir&quot;, &quot;lower1&quot;, dirfd);        /* append */        fsconfig(FSCONFIG_SET_PATH{_EMPTY}, &quot;lowerdir&quot;, &quot;lower2&quot;, dirfd);        /* append */        fsconfig(FSCONFIG_SET_PATH{_EMPTY}, &quot;lowerdir&quot;, &quot;lower3&quot;, dirfd);        /* clear all layers specified until now */        fsconfig(FSCONFIG_SET_STRING, &quot;lowerdir&quot;, NULL, 0);This would be especially nice if users create an overlayfs mount on topof idmapped layers or just in general private mounts created viaopen_tree(OPEN_TREE_CLONE). Those mounts would then never have to appearanywhere in the filesystem. But for now just do the minimal thing.We should probably aim to move more validation into ovl_fs_parse_param()so users get errors before fsconfig(FSCONFIG_CMD_CREATE). But that canbe done in additional patches later.This is now also rebased on top of the lazy lowerdata lookup whichallows the specificatin of data only layers using the new &quot;::&quot; syntax.The rules are simple. A data only layers cannot be followed by anyregular layers and data layers must be preceeded by at least one regularlayer.Parsing the lowerdir mount option must change because of this. Theoriginal patchset used the old lowerdir parsing function to split alowerdir mount option string such as:        lowerdir=/lower1:/lower2::/lower3::/lower4simply replacing each non-escaped &quot;:&quot; by &quot;\0&quot;. So sequences ofnon-escaped &quot;:&quot; were counted as layers. For example, the previouslowerdir mount option above would&apos;ve counted 6 layers instead of 4 and alowerdir mount option such as:        lowerdir=&quot;/lower1:/lower2::/lower3::/lower4:::::::::::::::::::::::::::&quot;would be counted as 33 layers. Other than being ugly this didn&apos;t mattermuch because kern_path() would reject the first &quot;\0&quot; layer. However,this overcounting of layers becomes problematic when we base allocationson it where we very much only want to allocate space for 4 layersinstead of 33.So the new parsing function rejects non-escaped sequences of colonsother than &quot;:&quot; and &quot;::&quot; immediately instead of relying on kern_path().Link: https://github.com/util-linux/util-linux/issues/2287Link: https://github.com/util-linux/util-linux/issues/1992Link: https://bugs.archlinux.org/task/78702Link: https://lore.kernel.org/linux-unionfs/20230530-klagen-zudem-32c0908c2108@braunerSigned-off-by: Christian Brauner &lt;brauner@kernel.org&gt;Signed-off-by: Amir Goldstein &lt;amir73il@gmail.com&gt;

            List of files:
            /linux-6.15/fs/overlayfs/Makefile</description>
        <pubDate>Fri, 16 Jun 2023 13:54:19 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>ec8f24b7 - treewide: Add SPDX license identifier - Makefile/Kconfig</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/overlayfs/Makefile#ec8f24b7</link>
        <description>treewide: Add SPDX license identifier - Makefile/KconfigAdd SPDX license identifiers to all Make/Kconfig files which: - Have no license information of any formThese files fall under the project license, GPL v2 only. The resulting SPDXlicense identifier is:  GPL-2.0-onlySigned-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/fs/overlayfs/Makefile</description>
        <pubDate>Sun, 19 May 2019 12:07:45 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>d1d04ef8 - ovl: stack file ops</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/overlayfs/Makefile#d1d04ef8</link>
        <description>ovl: stack file opsImplement file operations on a regular overlay file.  The underlying fileis opened separately and cached in -&gt;private_data.It might be worth making an exception for such files when accounting innr_file to confirm to userspace expectations.  We are only adding a smalloverhead (248bytes for the struct file) since the real inode and dentry arepinned by overlayfs anyway.This patch doesn&apos;t have any effect, since the vfs will use d_real() to findthe real underlying file to open.  The patch at the end of the series willactually enable this functionality.AV: make it use open_with_fake_path(), don&apos;t mess with override_credsSzM: still need to mess with override_creds() until no fs usescurrent_cred() in their open method.Signed-off-by: Miklos Szeredi &lt;mszeredi@redhat.com&gt;Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;

            List of files:
            /linux-6.15/fs/overlayfs/Makefile</description>
        <pubDate>Wed, 18 Jul 2018 13:44:41 +0000</pubDate>
        <dc:creator>Miklos Szeredi &lt;mszeredi@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>8ed5eec9 - ovl: encode pure upper file handles</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/overlayfs/Makefile#8ed5eec9</link>
        <description>ovl: encode pure upper file handlesEncode overlay file handles as struct ovl_fh containing the file handleencoding of the real upper inode.Signed-off-by: Amir Goldstein &lt;amir73il@gmail.com&gt;Signed-off-by: Miklos Szeredi &lt;mszeredi@redhat.com&gt;

            List of files:
            /linux-6.15/fs/overlayfs/Makefile</description>
        <pubDate>Wed, 12 Jul 2017 11:17:16 +0000</pubDate>
        <dc:creator>Amir Goldstein &lt;amir73il@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>bbb1e54d - ovl: split super.c</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/overlayfs/Makefile#bbb1e54d</link>
        <description>ovl: split super.cfs/overlayfs/super.c is the biggest of the overlayfs source files and itcontains various utility functions as well as the rather complicated lookupcode.  Split these parts out to separate files.Before: 1446 fs/overlayfs/super.cAfter:  919 fs/overlayfs/super.c  267 fs/overlayfs/namei.c  235 fs/overlayfs/util.c   51 fs/overlayfs/ovl_entry.hSigned-off-by: Miklos Szeredi &lt;mszeredi@redhat.com&gt;

            List of files:
            /linux-6.15/fs/overlayfs/Makefile</description>
        <pubDate>Fri, 16 Dec 2016 10:02:56 +0000</pubDate>
        <dc:creator>Miklos Szeredi &lt;mszeredi@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>ef94b186 - ovl: rename filesystem type to &quot;overlay&quot;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/overlayfs/Makefile#ef94b186</link>
        <description>ovl: rename filesystem type to &quot;overlay&quot;Some distributions carry an &quot;old&quot; format of overlayfs while mainline has a&quot;new&quot; format.The distros will possibly want to keep the old overlayfs alongside the newfor compatibility reasons.To make it possible to differentiate the two versions change the name ofthe new one from &quot;overlayfs&quot; to &quot;overlay&quot;.Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;Reported-by: Serge Hallyn &lt;serge.hallyn@ubuntu.com&gt;Cc: Andy Whitcroft &lt;apw@canonical.com&gt;

            List of files:
            /linux-6.15/fs/overlayfs/Makefile</description>
        <pubDate>Thu, 20 Nov 2014 15:39:59 +0000</pubDate>
        <dc:creator>Miklos Szeredi &lt;mszeredi@suse.cz&gt;</dc:creator>
    </item>
<item>
        <title>e9be9d5e - overlay filesystem</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/overlayfs/Makefile#e9be9d5e</link>
        <description>overlay filesystemOverlayfs allows one, usually read-write, directory tree to beoverlaid onto another, read-only directory tree.  All modificationsgo to the upper, writable layer.This type of mechanism is most often used for live CDs but there&apos;s awide variety of other uses.The implementation differs from other &quot;union filesystem&quot;implementations in that after a file is opened all operations godirectly to the underlying, lower or upper, filesystems.  Thissimplifies the implementation and allows native performance in thesecases.The dentry tree is duplicated from the underlying filesystems, thisenables fast cached lookups without adding special support into theVFS.  This uses slightly more memory than union mounts, but dentriesare relatively small.Currently inodes are duplicated as well, but it is a possibleoptimization to share inodes for non-directories.Opening non directories results in the open forwarded to theunderlying filesystem.  This makes the behavior very similar to unionmounts (with the same limitations vs. fchmod/fchown on O_RDONLY filedescriptors).Usage:  mount -t overlayfs overlayfs -olowerdir=/lower,upperdir=/upper/upper,workdir=/upper/work /overlayThe following cotributions have been folded into this patch:Neil Brown &lt;neilb@suse.de&gt;: - minimal remount support - use correct seek function for directories - initialise is_real before use - rename ovl_fill_cache to ovl_dir_readFelix Fietkau &lt;nbd@openwrt.org&gt;: - fix a deadlock in ovl_dir_read_merged - fix a deadlock in ovl_remove_whiteoutsErez Zadok &lt;ezk@fsl.cs.sunysb.edu&gt; - fix cleanup after WARN_ONSedat Dilek &lt;sedat.dilek@googlemail.com&gt; - fix up permission to confirm to new APIRobin Dong &lt;hao.bigrat@gmail.com&gt; - fix possible leak in ovl_new_inode - create new inode in ovl_linkAndy Whitcroft &lt;apw@canonical.com&gt; - switch to __inode_permission() - copy up i_uid/i_gid from the underlying inodeAV: - ovl_copy_up_locked() - dput(ERR_PTR(...)) on two failure exits - ovl_clear_empty() - one failure exit forgetting to do unlock_rename(),   lack of check for udir being the parent of upper, dropping and regaining   the lock on udir (which would require _another_ check for parent being   right). - bogus d_drop() in copyup and rename [fix from your mail] - copyup/remove and copyup/rename races [fix from your mail] - ovl_dir_fsync() leaving ERR_PTR() in -&gt;realfile - ovl_entry_free() is pointless - it&apos;s just a kfree_rcu() - fold ovl_do_lookup() into ovl_lookup() - manually assigning -&gt;d_op is wrong.  Just use -&gt;s_d_op. [patches picked from Miklos]: * copyup/remove and copyup/rename races * bogus d_drop() in copyup and renameAlso thanks to the following people for testing and reporting bugs:  Jordi Pujol &lt;jordipujolp@gmail.com&gt;  Andy Whitcroft &lt;apw@canonical.com&gt;  Michal Suchanek &lt;hramrach@centrum.cz&gt;  Felix Fietkau &lt;nbd@openwrt.org&gt;  Erez Zadok &lt;ezk@fsl.cs.sunysb.edu&gt;  Randy Dunlap &lt;rdunlap@xenotime.net&gt;Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;

            List of files:
            /linux-6.15/fs/overlayfs/Makefile</description>
        <pubDate>Thu, 23 Oct 2014 22:14:38 +0000</pubDate>
        <dc:creator>Miklos Szeredi &lt;mszeredi@suse.cz&gt;</dc:creator>
    </item>
</channel>
</rss>
