In addition to the update this also fixes compile problems with kernel 4.1. This closes #20323. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 46609master
parent
1c66ebcd2d
commit
b1bd85c40e
@ -1,4 +1,4 @@ |
|||||||
The yaffs2 source has been fetched from the yaffs2 GIT tree. |
The yaffs2 source has been fetched from the yaffs2 GIT tree. |
||||||
|
|
||||||
URL: git://www.aleph1.co.uk/yaffs2 |
URL: git://www.aleph1.co.uk/yaffs2 |
||||||
Version: 7e5cf0fa1b694f835cdc184a8395b229fa29f9ae (2014-08-07) |
Version: 583dbd9cc2668870cb013f051ba59f7d3e513dae (2015-06-02) |
||||||
|
@ -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);
|
|
||||||
}
|
|
@ -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);
|
|
||||||
}
|
|
@ -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;
|
@ -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);
|
|
||||||
}
|
|
@ -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;
|
||||||
|
|
||||||
|
@@ -1734,7 +1734,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);
|
||||||
|
@@ -1798,14 +1798,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);
|
||||||
|
@@ -1839,10 +1839,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;
|
Loading…
Reference in new issue