Commit c94527ff authored by J. R. Okajima's avatar J. R. Okajima
Browse files

aufs5.0 20200120


Signed-off-by: default avatarJ. R. Okajima <hooanon05g@gmail.com>
parent 109aff9b
......@@ -68,7 +68,7 @@ index aac41adf4743..fc18967c2522 100644
{
struct dentry *this_parent;
diff --git a/fs/fcntl.c b/fs/fcntl.c
index 083185174c6d..78234ee16784 100644
index 083185174c6d..7828d53148a7 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -32,7 +32,7 @@
......@@ -76,7 +76,7 @@ index 083185174c6d..78234ee16784 100644
#define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT | O_NOATIME)
-static int setfl(int fd, struct file * filp, unsigned long arg)
+int setfl(int fd, struct file * filp, unsigned long arg)
+int setfl(int fd, struct file *filp, unsigned long arg)
{
struct inode * inode = file_inode(filp);
int error = 0;
......@@ -120,7 +120,7 @@ index 678ef175d63a..9b6a3d0f87a1 100644
* vfsmount lock must be held for write
*/
diff --git a/fs/read_write.c b/fs/read_write.c
index ff3c5e6f87cf..5c18a9e51f37 100644
index ff3c5e6f87cf..d41e5b992eaa 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -489,6 +489,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count,
......@@ -135,7 +135,7 @@ index ff3c5e6f87cf..5c18a9e51f37 100644
+ return fop->read;
+ if (fop->read_iter)
+ return new_sync_read;
+ return ERR_PTR(-ENOSYS);
+ return ERR_PTR(-ENOSYS); /* doesn't have ->read(|_iter)() op */
+}
+
+vfs_writef_t vfs_writef(struct file *file)
......@@ -146,7 +146,7 @@ index ff3c5e6f87cf..5c18a9e51f37 100644
+ return fop->write;
+ if (fop->write_iter)
+ return new_sync_write;
+ return ERR_PTR(-ENOSYS);
+ return ERR_PTR(-ENOSYS); /* doesn't have ->write(|_iter)() op */
+}
+
ssize_t __kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos)
......@@ -194,14 +194,14 @@ index b54e0541ad89..28607828e96f 100644
if (wait)
sync_inodes_sb(sb);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 29d8e2cfed0e..5db265e7d35a 100644
index 29d8e2cfed0e..526424dc746b 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1310,6 +1310,7 @@ extern void fasync_free(struct fasync_struct *);
/* can be called from interrupts */
extern void kill_fasync(struct fasync_struct **, int, int);
+extern int setfl(int fd, struct file * filp, unsigned long arg);
+extern int setfl(int fd, struct file *filp, unsigned long arg);
extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
extern int f_setown(struct file *filp, unsigned long arg, int force);
extern void f_delown(struct file *filp);
......
......@@ -140,7 +140,7 @@ index a271e17e4b10..ee17c7577224 100644
}
diff --git a/drivers/block/loop.h b/drivers/block/loop.h
index af75a5ee4094..1e6ee5a4f623 100644
index af75a5ee4094..1d847cb194ff 100644
--- a/drivers/block/loop.h
+++ b/drivers/block/loop.h
@@ -46,7 +46,7 @@ struct loop_device {
......@@ -148,12 +148,12 @@ index af75a5ee4094..1e6ee5a4f623 100644
unsigned long arg);
- struct file * lo_backing_file;
+ struct file * lo_backing_file, *lo_backing_virt_file;
+ struct file *lo_backing_file, *lo_backing_virt_file;
struct block_device *lo_device;
void *key_data;
diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c
index 0309f0d502ff..19feb4f3cb5f 100644
index 240509add504..ae374ce4ded7 100644
--- a/fs/aufs/f_op.c
+++ b/fs/aufs/f_op.c
@@ -359,7 +359,7 @@ static ssize_t aufs_read_iter(struct kiocb *kio, struct iov_iter *iov_iter)
......@@ -212,7 +212,7 @@ index f31e40aff267..e13fb1a0717a 100644
#endif /* __KERNEL__ */
diff --git a/fs/aufs/super.c b/fs/aufs/super.c
index 73255f63b80c..f04e211cbf89 100644
index 97e1401359d8..514678aa1af3 100644
--- a/fs/aufs/super.c
+++ b/fs/aufs/super.c
@@ -846,7 +846,10 @@ static const struct super_operations aufs_sop = {
......@@ -228,14 +228,14 @@ index 73255f63b80c..f04e211cbf89 100644
/* ---------------------------------------------------------------------- */
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5db265e7d35a..8895cd2343e3 100644
index 526424dc746b..d46a9b0222c4 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1937,6 +1937,10 @@ struct super_operations {
struct shrink_control *);
long (*free_cached_objects)(struct super_block *,
struct shrink_control *);
+#if defined(CONFIG_BLK_DEV_LOOP) || defined(CONFIG_BLK_DEV_LOOP_MODULE)
+#if IS_ENABLED(CONFIG_BLK_DEV_LOOP) || IS_ENABLED(CONFIG_BLK_DEV_LOOP_MODULE)
+ /* and aufs */
+ struct file *(*real_loop)(struct file *);
+#endif
......
......@@ -34,10 +34,10 @@ index fb72d36f7823..7ce68004cbf8 100644
#ifdef CONFIG_USELIB
/*
diff --git a/fs/fcntl.c b/fs/fcntl.c
index 78234ee16784..2072f690b121 100644
index 7828d53148a7..efd8e2e9c0fa 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -85,6 +85,7 @@ int setfl(int fd, struct file * filp, unsigned long arg)
@@ -85,6 +85,7 @@ int setfl(int fd, struct file *filp, unsigned long arg)
out:
return error;
}
......@@ -190,7 +190,7 @@ index 0285ce7dbd51..cb81623a8b09 100644
long vfs_truncate(const struct path *path, loff_t length)
{
diff --git a/fs/read_write.c b/fs/read_write.c
index 5c18a9e51f37..542e59cd8d27 100644
index d41e5b992eaa..bf0538e67b41 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -459,6 +459,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
......@@ -203,7 +203,7 @@ index 5c18a9e51f37..542e59cd8d27 100644
{
@@ -499,6 +500,7 @@ vfs_readf_t vfs_readf(struct file *file)
return new_sync_read;
return ERR_PTR(-ENOSYS);
return ERR_PTR(-ENOSYS); /* doesn't have ->read(|_iter)() op */
}
+EXPORT_SYMBOL_GPL(vfs_readf);
......@@ -211,7 +211,7 @@ index 5c18a9e51f37..542e59cd8d27 100644
{
@@ -510,6 +512,7 @@ vfs_writef_t vfs_writef(struct file *file)
return new_sync_write;
return ERR_PTR(-ENOSYS);
return ERR_PTR(-ENOSYS); /* doesn't have ->write(|_iter)() op */
}
+EXPORT_SYMBOL_GPL(vfs_writef);
......
......@@ -40,7 +40,7 @@
#include <limits.h>
#endif /* __KERNEL__ */
#define AUFS_VERSION "5.x-rcN"
#define AUFS_VERSION "5.0-20200120"
/* todo? move this to linux-2.6.19/include/magic.h */
#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
......
......@@ -36,7 +36,7 @@ index e91ec9ddcd30..7c63916d235d 100644
* @n: the element to delete from the hash list.
*
diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index c4f72e461d28..53979dd893e0 100644
index c4f72e461d28..b4f4ba8ac9b2 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -737,6 +739,58 @@ static bool assign_lock_key(struct lockdep_map *lock)
......@@ -98,7 +98,7 @@ index c4f72e461d28..53979dd893e0 100644
/*
* Register a lock's class in the hash-table, if the class is not present
* yet. Otherwise we look it up. We cache the result in the lock object
@@ -781,16 +835,22 @@ register_lock_class(struct lockdep_map *lock, unsigned int subclass, int force)
@@ -781,16 +835,21 @@ register_lock_class(struct lockdep_map *lock, unsigned int subclass, int force)
* Allocate a new key from the static array, and add it to
* the hash:
*/
......@@ -111,9 +111,8 @@ index c4f72e461d28..53979dd893e0 100644
+ if (class)
+ class->usage_mask = 0;
+ else {
+ if (!debug_locks_off_graph_unlock()) {
+ if (!debug_locks_off_graph_unlock())
+ return NULL;
+ }
+
+ print_lockdep_off("BUG: MAX_LOCKDEP_KEYS too low!");
+ dump_stack();
......@@ -128,7 +127,7 @@ index c4f72e461d28..53979dd893e0 100644
debug_atomic_inc(nr_unused_locks);
class->key = key;
class->name = lock->name;
@@ -4124,6 +4188,7 @@ void lockdep_reset(void)
@@ -4124,6 +4187,7 @@ void lockdep_reset(void)
INIT_HLIST_HEAD(chainhash_table + i);
raw_local_irq_restore(flags);
}
......@@ -136,12 +135,14 @@ index c4f72e461d28..53979dd893e0 100644
/*
* Remove all references to a lock class. The caller must hold the graph lock.
@@ -4132,19 +4197,20 @@ static void zap_class(struct lock_class *class)
{
@@ -4133,18 +4197,22 @@ static void zap_class(struct lock_class *class)
int i;
+ /* pr_debug("%s:%d: %lu\n", __func__, __LINE__, class - lock_classes); */
/*
+ * pr_debug("%s:%d: %lu\n",
+ * __func__, __LINE__, class - lock_classes);
+ */
+ /*
* Remove all dependencies this lock is
* involved in:
*/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment