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

5.x-rcN 20200224


Signed-off-by: default avatarJ. R. Okajima <hooanon05g@gmail.com>
parent 6b5d10ee
......@@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN base patch
diff --git a/MAINTAINERS b/MAINTAINERS
index 56765f542244..edbd784b8a87 100644
index a0d86490c2c6..c2f67b975ce3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2877,6 +2877,19 @@ F: include/linux/audit.h
@@ -2919,6 +2919,19 @@ F: include/linux/audit.h
F: include/uapi/linux/audit.h
F: kernel/audit*
......@@ -90,20 +90,20 @@ index 9bc167562ee8..b0935c67bd1e 100644
return error;
diff --git a/fs/inode.c b/fs/inode.c
index 96d62d97694e..31796c1040d6 100644
index 7d57068b6b7a..c5a5578773d4 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1680,7 +1680,7 @@ EXPORT_SYMBOL(generic_update_time);
@@ -1687,7 +1687,7 @@ EXPORT_SYMBOL(generic_update_time);
* This does the actual work of updating an inodes time or version. Must have
* had called mnt_want_write() before calling this.
*/
-static int update_time(struct inode *inode, struct timespec64 *time, int flags)
+int update_time(struct inode *inode, struct timespec64 *time, int flags)
{
int (*update_time)(struct inode *, struct timespec64 *, int);
if (inode->i_op->update_time)
return inode->i_op->update_time(inode, time, flags);
diff --git a/fs/namespace.c b/fs/namespace.c
index 5e1bf611a9eb..c05ac2488abb 100644
index 85b5f7bea82e..c742051ba969 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -776,6 +776,12 @@ static inline int check_mnt(struct mount *mnt)
......@@ -120,7 +120,7 @@ index 5e1bf611a9eb..c05ac2488abb 100644
* vfsmount lock must be held for write
*/
diff --git a/fs/read_write.c b/fs/read_write.c
index 5bbf587f5bc1..fa9b3994b34c 100644
index 59d819c5b92e..bcb853105beb 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -498,6 +498,28 @@ static ssize_t __vfs_write(struct file *file, const char __user *p,
......@@ -153,7 +153,7 @@ index 5bbf587f5bc1..fa9b3994b34c 100644
{
mm_segment_t old_fs;
diff --git a/fs/splice.c b/fs/splice.c
index 3009652a41c8..d9bcc4a71a0a 100644
index d671936d0aad..b1f536d03c09 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -849,8 +849,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
......@@ -194,7 +194,7 @@ index 4d1ff010bc5a..457f4e4a5cc1 100644
if (wait)
sync_inodes_sb(sb);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 98e0349adb52..5fc7807f7c2e 100644
index 3cd4fe6b845e..6d1e37a014f3 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1349,6 +1349,7 @@ extern void fasync_free(struct fasync_struct *);
......@@ -205,7 +205,7 @@ index 98e0349adb52..5fc7807f7c2e 100644
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);
@@ -1842,6 +1843,7 @@ struct file_operations {
@@ -1841,6 +1842,7 @@ struct file_operations {
ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
int (*check_flags)(int);
......@@ -213,7 +213,7 @@ index 98e0349adb52..5fc7807f7c2e 100644
int (*flock) (struct file *, int, struct file_lock *);
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
@@ -1912,6 +1914,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
@@ -1911,6 +1913,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
struct iovec *fast_pointer,
struct iovec **ret_pointer);
......@@ -226,7 +226,7 @@ index 98e0349adb52..5fc7807f7c2e 100644
extern ssize_t __vfs_read(struct file *, char __user *, size_t, loff_t *);
extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
@@ -2332,6 +2340,7 @@ extern int current_umask(void);
@@ -2343,6 +2351,7 @@ extern int current_umask(void);
extern void ihold(struct inode * inode);
extern void iput(struct inode *);
extern int generic_update_time(struct inode *, struct timespec64 *, int);
......@@ -234,7 +234,7 @@ index 98e0349adb52..5fc7807f7c2e 100644
/* /sys/fs */
extern struct kobject *fs_kobj;
@@ -2620,6 +2629,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
@@ -2627,6 +2636,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
return false;
}
#endif
......@@ -243,7 +243,7 @@ index 98e0349adb52..5fc7807f7c2e 100644
extern const struct file_operations def_blk_fops;
extern const struct file_operations def_chr_fops;
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
index c50d01ef1414..4f4677020360 100644
index 664f52c6dd4c..f2208851f527 100644
--- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h
@@ -331,6 +331,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock,
......
......@@ -2,23 +2,23 @@ SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig
index 7b623e9fc1b0..9070b9159188 100644
index 708ba336e689..84eedbf8654e 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -264,6 +264,7 @@ source "fs/pstore/Kconfig"
source "fs/sysv/Kconfig"
@@ -266,6 +266,7 @@ source "fs/sysv/Kconfig"
source "fs/ufs/Kconfig"
source "fs/erofs/Kconfig"
source "fs/vboxsf/Kconfig"
+source "fs/aufs/Kconfig"
endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile
index 1148c555c4d3..ed6ff7ddc478 100644
index 505e51166973..d53a5678fd7d 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -133,3 +133,4 @@ obj-$(CONFIG_CEPH_FS) += ceph/
obj-$(CONFIG_PSTORE) += pstore/
obj-$(CONFIG_EFIVAR_FS) += efivarfs/
@@ -135,3 +135,4 @@ obj-$(CONFIG_EFIVAR_FS) += efivarfs/
obj-$(CONFIG_EROFS_FS) += erofs/
obj-$(CONFIG_VBOXSF_FS) += vboxsf/
obj-$(CONFIG_ZONEFS_FS) += zonefs/
+obj-$(CONFIG_AUFS_FS) += aufs/
......@@ -228,10 +228,10 @@ index 589dd0122020..801e0a7faec5 100644
/* ---------------------------------------------------------------------- */
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5fc7807f7c2e..07e24e72706e 100644
index 6d1e37a014f3..ce2c9b4bae13 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1980,6 +1980,10 @@ struct super_operations {
@@ -1979,6 +1979,10 @@ struct super_operations {
struct shrink_control *);
long (*free_cached_objects)(struct super_block *,
struct shrink_control *);
......
......@@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN mmap patch
diff --git a/fs/proc/base.c b/fs/proc/base.c
index ebea9501afb8..dc7edc5f7267 100644
index c7c64272b0fa..76d99aea5ae2 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -2037,7 +2037,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
@@ -2128,7 +2128,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
rc = -ENOENT;
vma = find_exact_vma(mm, vm_start, vm_end);
if (vma && vma->vm_file) {
......@@ -31,7 +31,7 @@ index 14c2badb8fd9..65afe5287e43 100644
ino = inode->i_ino;
}
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 9442631fd4af..1fa8a5fcdeee 100644
index 3ba9ae83bff5..397c33e0acbe 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -309,7 +309,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
......@@ -72,10 +72,10 @@ index 7907e6419e57..d17209cf52bc 100644
ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm.h b/include/linux/mm.h
index cfaa8feecfe8..b66c4c536ac5 100644
index 52269e56c514..32aa6b1ea1d2 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1495,6 +1495,28 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
@@ -1487,6 +1487,28 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
unmap_mapping_range(mapping, holebegin, holelen, 0);
}
......@@ -105,7 +105,7 @@ index cfaa8feecfe8..b66c4c536ac5 100644
void *buf, int len, unsigned int gup_flags);
extern int access_remote_vm(struct mm_struct *mm, unsigned long addr,
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 270aa8fd2800..33848c2165e2 100644
index c28911c3afa8..23d069c0e171 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -267,6 +267,7 @@ struct vm_region {
......@@ -116,7 +116,7 @@ index 270aa8fd2800..33848c2165e2 100644
int vm_usage; /* region usage count (access under nommu_region_sem) */
bool vm_icache_flushed : 1; /* true if the icache has been flushed for
@@ -341,6 +342,7 @@ struct vm_area_struct {
@@ -346,6 +347,7 @@ struct vm_area_struct {
unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE
units */
struct file * vm_file; /* File we map to (can be NULL). */
......@@ -125,7 +125,7 @@ index 270aa8fd2800..33848c2165e2 100644
#ifdef CONFIG_SWAP
diff --git a/kernel/fork.c b/kernel/fork.c
index 080809560072..968e4dc2279f 100644
index 60a1295f4384..44682dd97ca6 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -565,7 +565,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
......@@ -138,10 +138,10 @@ index 080809560072..968e4dc2279f 100644
atomic_dec(&inode->i_writecount);
i_mmap_lock_write(mapping);
diff --git a/mm/Makefile b/mm/Makefile
index 1937cc251883..778c1e399903 100644
index 272e66039e70..c8ff3d955c27 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -42,7 +42,7 @@ obj-y := filemap.o mempool.o oom_kill.o fadvise.o \
@@ -43,7 +43,7 @@ obj-y := filemap.o mempool.o oom_kill.o fadvise.o \
mm_init.o mmu_context.o percpu.o slab_common.o \
compaction.o vmacache.o \
interval_tree.o list_lru.o workingset.o \
......@@ -151,10 +151,10 @@ index 1937cc251883..778c1e399903 100644
# Give 'page_alloc' its own module-parameter namespace
page-alloc-y := page_alloc.o
diff --git a/mm/filemap.c b/mm/filemap.c
index bf6aa30be58d..32ca075c0c8b 100644
index 1784478270e1..fb03735cd00e 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2675,7 +2675,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
@@ -2653,7 +2653,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
vm_fault_t ret = VM_FAULT_LOCKED;
sb_start_pagefault(inode->i_sb);
......@@ -164,7 +164,7 @@ index bf6aa30be58d..32ca075c0c8b 100644
if (page->mapping != inode->i_mapping) {
unlock_page(page);
diff --git a/mm/mmap.c b/mm/mmap.c
index 71e4ffc83bcd..7256e8b985eb 100644
index 6756b8bb0033..aaf773f405ff 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -176,7 +176,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
......@@ -185,7 +185,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
}
if (next->anon_vma)
anon_vma_merge(vma, next);
@@ -1837,8 +1837,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
@@ -1833,8 +1833,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
return addr;
unmap_and_free_vma:
......@@ -195,7 +195,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
/* Undo any partial mapping done by a device driver. */
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
@@ -2667,7 +2667,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2663,7 +2663,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
goto out_free_mpol;
if (new->vm_file)
......@@ -204,7 +204,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
@@ -2686,7 +2686,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2682,7 +2682,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
if (new->vm_ops && new->vm_ops->close)
new->vm_ops->close(new);
if (new->vm_file)
......@@ -213,7 +213,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
unlink_anon_vmas(new);
out_free_mpol:
mpol_put(vma_policy(new));
@@ -2878,7 +2878,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2874,7 +2874,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
struct vm_area_struct *vma;
unsigned long populate = 0;
unsigned long ret = -EINVAL;
......@@ -222,7 +222,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst.\n",
current->comm, current->pid);
@@ -2953,10 +2953,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2949,10 +2949,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
}
}
......@@ -251,7 +251,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
out:
up_write(&mm->mmap_sem);
if (populate)
@@ -3247,7 +3264,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
@@ -3243,7 +3260,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
if (anon_vma_clone(new_vma, vma))
goto out_free_mempol;
if (new_vma->vm_file)
......
......@@ -22,7 +22,7 @@ index 046000653e4d..15aa871d1b45 100644
/**
* d_ancestor - search for an ancestor
diff --git a/fs/exec.c b/fs/exec.c
index 74d88dab98dd..71eb4fcace94 100644
index db17be51b112..4bb61917a29a 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -109,6 +109,7 @@ bool path_noexec(const struct path *path)
......@@ -66,19 +66,19 @@ index 30d55c9a1744..34b9bbf4c556 100644
void __init files_init(void)
{
diff --git a/fs/inode.c b/fs/inode.c
index 31796c1040d6..217169541ac4 100644
index c5a5578773d4..5995e737f64a 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1689,6 +1689,7 @@ int update_time(struct inode *inode, struct timespec64 *time, int flags)
return update_time(inode, time, flags);
@@ -1693,6 +1693,7 @@ int update_time(struct inode *inode, struct timespec64 *time, int flags)
return inode->i_op->update_time(inode, time, flags);
return generic_update_time(inode, time, flags);
}
+EXPORT_SYMBOL_GPL(update_time);
/**
* touch_atime - update the access time
diff --git a/fs/namespace.c b/fs/namespace.c
index c05ac2488abb..100b7839c8b0 100644
index c742051ba969..e02a680b7fe9 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -431,6 +431,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
......@@ -118,7 +118,7 @@ index 133f723aca07..0b9f7f6d8390 100644
/*
* Drop a reference to a group. Free it if it's through.
diff --git a/fs/open.c b/fs/open.c
index b62f5c0923a8..89af4b9c7319 100644
index 0788b3715731..cec8ceac6f16 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -65,6 +65,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
......@@ -130,7 +130,7 @@ index b62f5c0923a8..89af4b9c7319 100644
long vfs_truncate(const struct path *path, loff_t length)
{
diff --git a/fs/read_write.c b/fs/read_write.c
index fa9b3994b34c..eb0e2c6ebaff 100644
index bcb853105beb..e54db6078e3f 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -468,6 +468,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
......@@ -166,7 +166,7 @@ index fa9b3994b34c..eb0e2c6ebaff 100644
/* file_ppos returns &file->f_pos or NULL if file is stream */
static inline loff_t *file_ppos(struct file *file)
diff --git a/fs/splice.c b/fs/splice.c
index d9bcc4a71a0a..bf8725e99070 100644
index b1f536d03c09..0872306175b4 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -862,6 +862,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
......@@ -231,10 +231,10 @@ index 0fef395662a6..83fb1ecfc33d 100644
}
+EXPORT_SYMBOL_GPL(task_work_run);
diff --git a/security/security.c b/security/security.c
index cd2d18d2d279..fbf716450399 100644
index 565bc9b67276..248a63945e9f 100644
--- a/security/security.c
+++ b/security/security.c
@@ -1036,6 +1036,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
@@ -1068,6 +1068,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
return 0;
return call_int_hook(path_rmdir, 0, dir, dentry);
}
......@@ -242,7 +242,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_unlink(const struct path *dir, struct dentry *dentry)
{
@@ -1052,6 +1053,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry,
@@ -1084,6 +1085,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry,
return 0;
return call_int_hook(path_symlink, 0, dir, dentry, old_name);
}
......@@ -250,7 +250,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
struct dentry *new_dentry)
@@ -1060,6 +1062,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
@@ -1092,6 +1094,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
return 0;
return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry);
}
......@@ -258,7 +258,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
const struct path *new_dir, struct dentry *new_dentry,
@@ -1087,6 +1090,7 @@ int security_path_truncate(const struct path *path)
@@ -1119,6 +1122,7 @@ int security_path_truncate(const struct path *path)
return 0;
return call_int_hook(path_truncate, 0, path);
}
......@@ -266,7 +266,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_chmod(const struct path *path, umode_t mode)
{
@@ -1094,6 +1098,7 @@ int security_path_chmod(const struct path *path, umode_t mode)
@@ -1126,6 +1130,7 @@ int security_path_chmod(const struct path *path, umode_t mode)
return 0;
return call_int_hook(path_chmod, 0, path, mode);
}
......@@ -274,7 +274,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
{
@@ -1101,6 +1106,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
@@ -1133,6 +1138,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
return 0;
return call_int_hook(path_chown, 0, path, uid, gid);
}
......@@ -282,7 +282,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_chroot(const struct path *path)
{
@@ -1201,6 +1207,7 @@ int security_inode_permission(struct inode *inode, int mask)
@@ -1233,6 +1239,7 @@ int security_inode_permission(struct inode *inode, int mask)
return 0;
return call_int_hook(inode_permission, 0, inode, mask);
}
......@@ -290,7 +290,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
{
@@ -1378,6 +1385,7 @@ int security_file_permission(struct file *file, int mask)
@@ -1410,6 +1417,7 @@ int security_file_permission(struct file *file, int mask)
return fsnotify_perm(file, mask);
}
......
......@@ -40,7 +40,7 @@
#include <limits.h>
#endif /* __KERNEL__ */
#define AUFS_VERSION "5.x-rcN-20200203"
#define AUFS_VERSION "5.x-rcN-20200224"
/* todo? move this to linux-2.6.19/include/magic.h */
#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
......
......@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN lockdep patch
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
index 4f4677020360..1aef2c1047a3 100644
index f2208851f527..81018ccaa94a 100644
--- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h
@@ -17,7 +17,7 @@ struct lockdep_map;
......
......@@ -16,7 +16,7 @@ index 711a4093e475..a5703d5c7205 100644
extern const struct seq_operations mounts_op;
diff --git a/fs/namespace.c b/fs/namespace.c
index 5e1bf611a9eb..a4cc7a494f32 100644
index 85b5f7bea82e..ff398173c36f 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1246,46 +1246,80 @@ struct vfsmount *mnt_clone_internal(const struct path *path)
......
SPDX-License-Identifier: GPL-2.0
diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h
index de8e4b71e3ba..ae8c9fcaea91 100644
index d56fefef8905..a02150911167 100644
--- a/include/linux/shmem_fs.h
+++ b/include/linux/shmem_fs.h
@@ -26,10 +26,13 @@ struct shmem_inode_info {
@@ -27,10 +27,13 @@ struct shmem_inode_info {
};
struct shmem_sb_info {
......@@ -21,7 +21,7 @@ index de8e4b71e3ba..ae8c9fcaea91 100644
umode_t mode; /* Mount mode for root directory */
unsigned char huge; /* Whether to try for hugepages */
diff --git a/mm/shmem.c b/mm/shmem.c
index 8793e8cc1a48..ae68925ff71a 100644
index c8f7540ef048..f001b83ad1c3 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -110,7 +110,7 @@ struct shmem_falloc {
......@@ -165,7 +165,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
return 1;
}
@@ -3441,7 +3449,7 @@ static int shmem_parse_one(struct fs_context *fc, struct fs_parameter *param)
@@ -3437,7 +3445,7 @@ static int shmem_parse_one(struct fs_context *fc, struct fs_parameter *param)
break;
case Opt_nr_inodes:
ctx->inodes = memparse(param->string, &rest);
......@@ -174,7 +174,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
goto bad_value;
ctx->seen |= SHMEM_SEEN_INODES;
break;
@@ -3539,7 +3547,7 @@ static int shmem_reconfigure(struct fs_context *fc)
@@ -3535,7 +3543,7 @@ static int shmem_reconfigure(struct fs_context *fc)
{
struct shmem_options *ctx = fc->fs_private;
struct shmem_sb_info *sbinfo = SHMEM_SB(fc->root->d_sb);
......@@ -183,7 +183,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
const char *err;
spin_lock(&sbinfo->stat_lock);
@@ -3598,7 +3606,7 @@ static int shmem_show_options(struct seq_file *seq, struct dentry *root)
@@ -3594,7 +3602,7 @@ static int shmem_show_options(struct seq_file *seq, struct dentry *root)
seq_printf(seq, ",size=%luk",
sbinfo->max_blocks << (PAGE_SHIFT - 10));
if (sbinfo->max_inodes != shmem_default_max_inodes())
......@@ -192,7 +192,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
if (sbinfo->mode != (0777 | S_ISVTX))
seq_printf(seq, ",mode=%03ho", sbinfo->mode);
if (!uid_eq(sbinfo->uid, GLOBAL_ROOT_UID))
@@ -3622,6 +3630,8 @@ static void shmem_put_super(struct super_block *sb)
@@ -3618,6 +3626,8 @@ static void shmem_put_super(struct super_block *sb)
{
struct shmem_sb_info *sbinfo = SHMEM_SB(sb);
......@@ -201,7 +201,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
percpu_counter_destroy(&sbinfo->used_blocks);
mpol_put(sbinfo->mpol);
kfree(sbinfo);
@@ -3662,6 +3672,8 @@ static int shmem_fill_super(struct super_block *sb, struct fs_context *fc)
@@ -3658,6 +3668,8 @@ static int shmem_fill_super(struct super_block *sb, struct fs_context *fc)
#else
sb->s_flags |= SB_NOUSER;
#endif
......@@ -210,7 +210,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
sbinfo->max_blocks = ctx->blocks;
sbinfo->free_inodes = sbinfo->max_inodes = ctx->inodes;
sbinfo->uid = ctx->uid;
@@ -3773,6 +3785,15 @@ static void shmem_destroy_inodecache(void)
@@ -3769,6 +3781,15 @@ static void shmem_destroy_inodecache(void)
kmem_cache_destroy(shmem_inode_cachep);
}
......@@ -226,7 +226,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
static const struct address_space_operations shmem_aops = {
.writepage = shmem_writepage,
.set_page_dirty = __set_page_dirty_no_writeback,
@@ -3913,6 +3934,7 @@ int __init shmem_init(void)
@@ -3909,6 +3930,7 @@ int __init shmem_init(void)
pr_err("Could not kern_mount tmpfs\n");
goto out1;
}
......
SPDX-License-Identifier: GPL-2.0
diff --git a/fs/inode.c b/fs/inode.c
index 96d62d97694e..9f873b4380a4 100644
index 7d57068b6b7a..d78538d2e0c0 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -892,6 +892,8 @@ unsigned int get_next_ino(void)
@@ -893,6 +893,8 @@ unsigned int get_next_ino(void)
unsigned int *p = &get_cpu_var(last_ino);
unsigned int res = *p;
......@@ -13,7 +13,7 @@ index 96d62d97694e..9f873b4380a4 100644
#ifdef CONFIG_SMP
if (unlikely((res & (LAST_INO_BATCH-1)) == 0)) {
static atomic_t shared_last_ino;
@@ -904,7 +906,7 @@ unsigned int get_next_ino(void)
@@ -905,7 +907,7 @@ unsigned int get_next_ino(void)
res++;
/* get_next_ino should not provide a 0 inode number */
if (unlikely(!res))
......
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