diff options
Diffstat (limited to 'target/linux/generic/patches-4.0')
3 files changed, 101 insertions, 44 deletions
diff --git a/target/linux/generic/patches-4.0/501-yaffs-add-missing-flush-arguments.patch b/target/linux/generic/patches-4.0/501-yaffs-add-missing-flush-arguments.patch deleted file mode 100644 index d5ccc3e81e..0000000000 --- a/target/linux/generic/patches-4.0/501-yaffs-add-missing-flush-arguments.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/fs/yaffs2/yaffs_vfs.c -+++ b/fs/yaffs2/yaffs_vfs.c -@@ -738,7 +738,7 @@ static int yaffs_file_flush(struct file - - yaffs_gross_lock(dev); - -- yaffs_flush_file(obj, 1, 0); -+ yaffs_flush_file(obj, 1, 0, 1); - - yaffs_gross_unlock(dev); - -@@ -768,7 +768,7 @@ static int yaffs_sync_object(struct file - yaffs_trace(YAFFS_TRACE_OS | YAFFS_TRACE_SYNC, - "yaffs_sync_object"); - yaffs_gross_lock(dev); -- yaffs_flush_file(obj, 1, datasync); -+ yaffs_flush_file(obj, 1, datasync, 1); - yaffs_gross_unlock(dev); - return 0; - } -@@ -2187,7 +2187,7 @@ static void yaffs_flush_inodes(struct su - yaffs_trace(YAFFS_TRACE_OS, - "flushing obj %d", - obj->obj_id); -- yaffs_flush_file(obj, 1, 0); -+ yaffs_flush_file(obj, 1, 0, 1); - } - } - } -@@ -2200,7 +2200,7 @@ static void yaffs_flush_super(struct sup - - yaffs_flush_inodes(sb); - yaffs_update_dirty_dirs(dev); -- yaffs_flush_whole_cache(dev); -+ yaffs_flush_whole_cache(dev, 1); - if (do_checkpoint) - yaffs_checkpoint_save(dev); - } diff --git a/target/linux/generic/patches-4.0/503-yaffs-add-tags-9bytes-mount-option.patch b/target/linux/generic/patches-4.0/503-yaffs-add-tags-9bytes-mount-option.patch index 9ecaa72832..3f51bafc11 100644 --- a/target/linux/generic/patches-4.0/503-yaffs-add-tags-9bytes-mount-option.patch +++ b/target/linux/generic/patches-4.0/503-yaffs-add-tags-9bytes-mount-option.patch @@ -4,7 +4,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> --- --- a/fs/yaffs2/yaffs_vfs.c +++ b/fs/yaffs2/yaffs_vfs.c -@@ -2605,6 +2605,7 @@ static const struct super_operations yaf +@@ -2644,6 +2644,7 @@ static const struct super_operations yaf struct yaffs_options { int inband_tags; @@ -12,7 +12,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> int skip_checkpoint_read; int skip_checkpoint_write; int no_cache; -@@ -2644,6 +2645,8 @@ static int yaffs_parse_options(struct ya +@@ -2683,6 +2684,8 @@ static int yaffs_parse_options(struct ya if (!strcmp(cur_opt, "inband-tags")) { options->inband_tags = 1; @@ -21,7 +21,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> } else if (!strcmp(cur_opt, "tags-ecc-off")) { options->tags_ecc_on = 0; options->tags_ecc_overridden = 1; -@@ -2717,7 +2720,6 @@ static struct super_block *yaffs_interna +@@ -2756,7 +2759,6 @@ static struct super_block *yaffs_interna struct yaffs_param *param; int read_only = 0; @@ -29,7 +29,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> struct yaffs_options options; -@@ -2757,6 +2759,9 @@ static struct super_block *yaffs_interna +@@ -2796,6 +2798,9 @@ static struct super_block *yaffs_interna memset(&options, 0, sizeof(options)); @@ -39,7 +39,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> if (yaffs_parse_options(&options, data_str)) { /* Option parsing failed */ return NULL; -@@ -2790,17 +2795,22 @@ static struct super_block *yaffs_interna +@@ -2829,17 +2834,22 @@ static struct super_block *yaffs_interna } /* Added NCB 26/5/2006 for completeness */ @@ -68,7 +68,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> return NULL; /* OK, so if we got here, we have an MTD that's NAND and looks -@@ -2857,7 +2867,8 @@ static struct super_block *yaffs_interna +@@ -2896,7 +2906,8 @@ static struct super_block *yaffs_interna param->n_reserved_blocks = 5; param->n_caches = (options.no_cache) ? 0 : 10; diff --git a/target/linux/generic/patches-4.0/505-yaffs-3.19-f_dentry-remove.patch b/target/linux/generic/patches-4.0/505-yaffs-3.19-f_dentry-remove.patch new file mode 100644 index 0000000000..4dd2afe992 --- /dev/null +++ b/target/linux/generic/patches-4.0/505-yaffs-3.19-f_dentry-remove.patch @@ -0,0 +1,95 @@ +--- a/fs/yaffs2/yaffs_vfs.c ++++ b/fs/yaffs2/yaffs_vfs.c +@@ -283,7 +283,7 @@ static int yaffs_readpage_nolock(struct + (long long)pos, + (unsigned)PAGE_CACHE_SIZE); + +- obj = yaffs_dentry_to_obj(f->f_dentry); ++ obj = yaffs_dentry_to_obj(f->f_path.dentry); + + dev = obj->my_dev; + +@@ -481,7 +481,7 @@ static ssize_t yaffs_hold_space(struct f + + int n_free_chunks; + +- obj = yaffs_dentry_to_obj(f->f_dentry); ++ obj = yaffs_dentry_to_obj(f->f_path.dentry); + + dev = obj->my_dev; + +@@ -499,7 +499,7 @@ static void yaffs_release_space(struct f + struct yaffs_obj *obj; + struct yaffs_dev *dev; + +- obj = yaffs_dentry_to_obj(f->f_dentry); ++ obj = yaffs_dentry_to_obj(f->f_path.dentry); + + dev = obj->my_dev; + +@@ -591,7 +591,7 @@ static ssize_t yaffs_file_write(struct f + struct inode *inode; + struct yaffs_dev *dev; + +- obj = yaffs_dentry_to_obj(f->f_dentry); ++ obj = yaffs_dentry_to_obj(f->f_path.dentry); + + if (!obj) { + yaffs_trace(YAFFS_TRACE_OS, +@@ -603,7 +603,7 @@ static ssize_t yaffs_file_write(struct f + + yaffs_gross_lock(dev); + +- inode = f->f_dentry->d_inode; ++ inode = f->f_path.dentry->d_inode; + + if (!S_ISBLK(inode->i_mode) && f->f_flags & O_APPEND) + ipos = inode->i_size; +@@ -727,7 +727,7 @@ static int yaffs_file_flush(struct file + static int yaffs_file_flush(struct file *file) + #endif + { +- struct yaffs_obj *obj = yaffs_dentry_to_obj(file->f_dentry); ++ struct yaffs_obj *obj = yaffs_dentry_to_obj(file->f_path.dentry); + + struct yaffs_dev *dev = obj->my_dev; + +@@ -1730,7 +1730,7 @@ static int yaffs_iterate(struct file *f, + + char name[YAFFS_MAX_NAME_LENGTH + 1]; + +- obj = yaffs_dentry_to_obj(f->f_dentry); ++ obj = yaffs_dentry_to_obj(f->f_path.dentry); + dev = obj->my_dev; + + yaffs_gross_lock(dev); +@@ -1794,14 +1794,14 @@ static int yaffs_readdir(struct file *f, + struct yaffs_obj *obj; + struct yaffs_dev *dev; + struct yaffs_search_context *sc; +- struct inode *inode = f->f_dentry->d_inode; ++ struct inode *inode = f->f_path.dentry->d_inode; + unsigned long offset, curoffs; + struct yaffs_obj *l; + int ret_val = 0; + + char name[YAFFS_MAX_NAME_LENGTH + 1]; + +- obj = yaffs_dentry_to_obj(f->f_dentry); ++ obj = yaffs_dentry_to_obj(f->f_path.dentry); + dev = obj->my_dev; + + yaffs_gross_lock(dev); +@@ -1835,10 +1835,10 @@ static int yaffs_readdir(struct file *f, + if (offset == 1) { + yaffs_trace(YAFFS_TRACE_OS, + "yaffs_readdir: entry .. ino %d", +- (int)f->f_dentry->d_parent->d_inode->i_ino); ++ (int)f->f_path.dentry->d_parent->d_inode->i_ino); + yaffs_gross_unlock(dev); + if (filldir(dirent, "..", 2, offset, +- f->f_dentry->d_parent->d_inode->i_ino, ++ f->f_path.dentry->d_parent->d_inode->i_ino, + DT_DIR) < 0) { + yaffs_gross_lock(dev); + goto out; |