mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 10:39:04 +00:00
42f559ed70
First two patches weren't marked for stable but are dependencies for laters ones. The rest of patches was marked for stable but most likely will be backported to 4.5+ only so we need to get them on our own. An important fix is eea2fb4851e9d ("ovl: proper cleanup of workdir") as it allows mounting overlayfs with dirty workdir, e.g. after power cut. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
73 lines
2.2 KiB
Diff
73 lines
2.2 KiB
Diff
From 56656e960b555cb98bc414382566dcb59aae99a2 Mon Sep 17 00:00:00 2001
|
|
From: Miklos Szeredi <mszeredi@redhat.com>
|
|
Date: Mon, 21 Mar 2016 17:31:46 +0100
|
|
Subject: [PATCH] ovl: rename is_merge to is_lowest
|
|
|
|
The 'is_merge' is an historical naming from when only a single lower layer
|
|
could exist. With the introduction of multiple lower layers the meaning of
|
|
this flag was changed to mean only the "lowest layer" (while all lower
|
|
layers were being merged).
|
|
|
|
So now 'is_merge' is inaccurate and hence renaming to 'is_lowest'
|
|
|
|
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
|
|
---
|
|
fs/overlayfs/readdir.c | 16 ++++++++--------
|
|
1 file changed, 8 insertions(+), 8 deletions(-)
|
|
|
|
--- a/fs/overlayfs/readdir.c
|
|
+++ b/fs/overlayfs/readdir.c
|
|
@@ -36,7 +36,7 @@ struct ovl_dir_cache {
|
|
|
|
struct ovl_readdir_data {
|
|
struct dir_context ctx;
|
|
- bool is_merge;
|
|
+ bool is_lowest;
|
|
struct rb_root root;
|
|
struct list_head *list;
|
|
struct list_head middle;
|
|
@@ -139,9 +139,9 @@ static int ovl_cache_entry_add_rb(struct
|
|
return 0;
|
|
}
|
|
|
|
-static int ovl_fill_lower(struct ovl_readdir_data *rdd,
|
|
- const char *name, int namelen,
|
|
- loff_t offset, u64 ino, unsigned int d_type)
|
|
+static int ovl_fill_lowest(struct ovl_readdir_data *rdd,
|
|
+ const char *name, int namelen,
|
|
+ loff_t offset, u64 ino, unsigned int d_type)
|
|
{
|
|
struct ovl_cache_entry *p;
|
|
|
|
@@ -193,10 +193,10 @@ static int ovl_fill_merge(struct dir_con
|
|
container_of(ctx, struct ovl_readdir_data, ctx);
|
|
|
|
rdd->count++;
|
|
- if (!rdd->is_merge)
|
|
+ if (!rdd->is_lowest)
|
|
return ovl_cache_entry_add_rb(rdd, name, namelen, ino, d_type);
|
|
else
|
|
- return ovl_fill_lower(rdd, name, namelen, offset, ino, d_type);
|
|
+ return ovl_fill_lowest(rdd, name, namelen, offset, ino, d_type);
|
|
}
|
|
|
|
static int ovl_check_whiteouts(struct dentry *dir, struct ovl_readdir_data *rdd)
|
|
@@ -289,7 +289,7 @@ static int ovl_dir_read_merged(struct de
|
|
.ctx.actor = ovl_fill_merge,
|
|
.list = list,
|
|
.root = RB_ROOT,
|
|
- .is_merge = false,
|
|
+ .is_lowest = false,
|
|
};
|
|
int idx, next;
|
|
|
|
@@ -306,7 +306,7 @@ static int ovl_dir_read_merged(struct de
|
|
* allows offsets to be reasonably constant
|
|
*/
|
|
list_add(&rdd.middle, rdd.list);
|
|
- rdd.is_merge = true;
|
|
+ rdd.is_lowest = true;
|
|
err = ovl_dir_read(&realpath, &rdd);
|
|
list_del(&rdd.middle);
|
|
}
|