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 ...@@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN base patch aufs5.x-rcN base patch
diff --git a/MAINTAINERS b/MAINTAINERS diff --git a/MAINTAINERS b/MAINTAINERS
index 56765f542244..edbd784b8a87 100644 index a0d86490c2c6..c2f67b975ce3 100644
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/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: include/uapi/linux/audit.h
F: kernel/audit* F: kernel/audit*
...@@ -90,20 +90,20 @@ index 9bc167562ee8..b0935c67bd1e 100644 ...@@ -90,20 +90,20 @@ index 9bc167562ee8..b0935c67bd1e 100644
return error; return error;
diff --git a/fs/inode.c b/fs/inode.c diff --git a/fs/inode.c b/fs/inode.c
index 96d62d97694e..31796c1040d6 100644 index 7d57068b6b7a..c5a5578773d4 100644
--- a/fs/inode.c --- a/fs/inode.c
+++ b/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 * This does the actual work of updating an inodes time or version. Must have
* had called mnt_want_write() before calling this. * had called mnt_want_write() before calling this.
*/ */
-static int update_time(struct inode *inode, struct timespec64 *time, int flags) -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 *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 diff --git a/fs/namespace.c b/fs/namespace.c
index 5e1bf611a9eb..c05ac2488abb 100644 index 85b5f7bea82e..c742051ba969 100644
--- a/fs/namespace.c --- a/fs/namespace.c
+++ b/fs/namespace.c +++ b/fs/namespace.c
@@ -776,6 +776,12 @@ static inline int check_mnt(struct mount *mnt) @@ -776,6 +776,12 @@ static inline int check_mnt(struct mount *mnt)
...@@ -120,7 +120,7 @@ index 5e1bf611a9eb..c05ac2488abb 100644 ...@@ -120,7 +120,7 @@ index 5e1bf611a9eb..c05ac2488abb 100644
* vfsmount lock must be held for write * vfsmount lock must be held for write
*/ */
diff --git a/fs/read_write.c b/fs/read_write.c 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 --- a/fs/read_write.c
+++ b/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, @@ -498,6 +498,28 @@ static ssize_t __vfs_write(struct file *file, const char __user *p,
...@@ -153,7 +153,7 @@ index 5bbf587f5bc1..fa9b3994b34c 100644 ...@@ -153,7 +153,7 @@ index 5bbf587f5bc1..fa9b3994b34c 100644
{ {
mm_segment_t old_fs; mm_segment_t old_fs;
diff --git a/fs/splice.c b/fs/splice.c diff --git a/fs/splice.c b/fs/splice.c
index 3009652a41c8..d9bcc4a71a0a 100644 index d671936d0aad..b1f536d03c09 100644
--- a/fs/splice.c --- a/fs/splice.c
+++ b/fs/splice.c +++ b/fs/splice.c
@@ -849,8 +849,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); @@ -849,8 +849,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
...@@ -194,7 +194,7 @@ index 4d1ff010bc5a..457f4e4a5cc1 100644 ...@@ -194,7 +194,7 @@ index 4d1ff010bc5a..457f4e4a5cc1 100644
if (wait) if (wait)
sync_inodes_sb(sb); sync_inodes_sb(sb);
diff --git a/include/linux/fs.h b/include/linux/fs.h 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 --- a/include/linux/fs.h
+++ b/include/linux/fs.h +++ b/include/linux/fs.h
@@ -1349,6 +1349,7 @@ extern void fasync_free(struct fasync_struct *); @@ -1349,6 +1349,7 @@ extern void fasync_free(struct fasync_struct *);
...@@ -205,7 +205,7 @@ index 98e0349adb52..5fc7807f7c2e 100644 ...@@ -205,7 +205,7 @@ index 98e0349adb52..5fc7807f7c2e 100644
extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force); 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 int f_setown(struct file *filp, unsigned long arg, int force);
extern void f_delown(struct file *filp); 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); 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); unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
int (*check_flags)(int); int (*check_flags)(int);
...@@ -213,7 +213,7 @@ index 98e0349adb52..5fc7807f7c2e 100644 ...@@ -213,7 +213,7 @@ index 98e0349adb52..5fc7807f7c2e 100644
int (*flock) (struct file *, int, struct file_lock *); 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_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); 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 *fast_pointer,
struct iovec **ret_pointer); struct iovec **ret_pointer);
...@@ -226,7 +226,7 @@ index 98e0349adb52..5fc7807f7c2e 100644 ...@@ -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_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 *); 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 ihold(struct inode * inode);
extern void iput(struct inode *); extern void iput(struct inode *);
extern int generic_update_time(struct inode *, struct timespec64 *, int); extern int generic_update_time(struct inode *, struct timespec64 *, int);
...@@ -234,7 +234,7 @@ index 98e0349adb52..5fc7807f7c2e 100644 ...@@ -234,7 +234,7 @@ index 98e0349adb52..5fc7807f7c2e 100644
/* /sys/fs */ /* /sys/fs */
extern struct kobject *fs_kobj; 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; return false;
} }
#endif #endif
...@@ -243,7 +243,7 @@ index 98e0349adb52..5fc7807f7c2e 100644 ...@@ -243,7 +243,7 @@ index 98e0349adb52..5fc7807f7c2e 100644
extern const struct file_operations def_blk_fops; extern const struct file_operations def_blk_fops;
extern const struct file_operations def_chr_fops; extern const struct file_operations def_chr_fops;
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h 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 --- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h +++ b/include/linux/lockdep.h
@@ -331,6 +331,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock, @@ -331,6 +331,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock,
......
...@@ -2,23 +2,23 @@ SPDX-License-Identifier: GPL-2.0 ...@@ -2,23 +2,23 @@ SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN kbuild patch aufs5.x-rcN kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig diff --git a/fs/Kconfig b/fs/Kconfig
index 7b623e9fc1b0..9070b9159188 100644 index 708ba336e689..84eedbf8654e 100644
--- a/fs/Kconfig --- a/fs/Kconfig
+++ b/fs/Kconfig +++ b/fs/Kconfig
@@ -264,6 +264,7 @@ source "fs/pstore/Kconfig" @@ -266,6 +266,7 @@ source "fs/sysv/Kconfig"
source "fs/sysv/Kconfig"
source "fs/ufs/Kconfig" source "fs/ufs/Kconfig"
source "fs/erofs/Kconfig" source "fs/erofs/Kconfig"
source "fs/vboxsf/Kconfig"
+source "fs/aufs/Kconfig" +source "fs/aufs/Kconfig"
endif # MISC_FILESYSTEMS endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile diff --git a/fs/Makefile b/fs/Makefile
index 1148c555c4d3..ed6ff7ddc478 100644 index 505e51166973..d53a5678fd7d 100644
--- a/fs/Makefile --- a/fs/Makefile
+++ b/fs/Makefile +++ b/fs/Makefile
@@ -133,3 +133,4 @@ obj-$(CONFIG_CEPH_FS) += ceph/ @@ -135,3 +135,4 @@ obj-$(CONFIG_EFIVAR_FS) += efivarfs/
obj-$(CONFIG_PSTORE) += pstore/
obj-$(CONFIG_EFIVAR_FS) += efivarfs/
obj-$(CONFIG_EROFS_FS) += erofs/ obj-$(CONFIG_EROFS_FS) += erofs/
obj-$(CONFIG_VBOXSF_FS) += vboxsf/
obj-$(CONFIG_ZONEFS_FS) += zonefs/
+obj-$(CONFIG_AUFS_FS) += aufs/ +obj-$(CONFIG_AUFS_FS) += aufs/
...@@ -228,10 +228,10 @@ index 589dd0122020..801e0a7faec5 100644 ...@@ -228,10 +228,10 @@ index 589dd0122020..801e0a7faec5 100644
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
diff --git a/include/linux/fs.h b/include/linux/fs.h 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 --- a/include/linux/fs.h
+++ b/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 *); struct shrink_control *);
long (*free_cached_objects)(struct super_block *, long (*free_cached_objects)(struct super_block *,
struct shrink_control *); struct shrink_control *);
......
...@@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-2.0 ...@@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN mmap patch aufs5.x-rcN mmap patch
diff --git a/fs/proc/base.c b/fs/proc/base.c 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 --- a/fs/proc/base.c
+++ b/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; rc = -ENOENT;
vma = find_exact_vma(mm, vm_start, vm_end); vma = find_exact_vma(mm, vm_start, vm_end);
if (vma && vma->vm_file) { if (vma && vma->vm_file) {
...@@ -31,7 +31,7 @@ index 14c2badb8fd9..65afe5287e43 100644 ...@@ -31,7 +31,7 @@ index 14c2badb8fd9..65afe5287e43 100644
ino = inode->i_ino; ino = inode->i_ino;
} }
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c 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 --- a/fs/proc/task_mmu.c
+++ b/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) @@ -309,7 +309,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
...@@ -72,10 +72,10 @@ index 7907e6419e57..d17209cf52bc 100644 ...@@ -72,10 +72,10 @@ index 7907e6419e57..d17209cf52bc 100644
ino = inode->i_ino; ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm.h b/include/linux/mm.h 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 --- a/include/linux/mm.h
+++ b/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); unmap_mapping_range(mapping, holebegin, holelen, 0);
} }
...@@ -105,7 +105,7 @@ index cfaa8feecfe8..b66c4c536ac5 100644 ...@@ -105,7 +105,7 @@ index cfaa8feecfe8..b66c4c536ac5 100644
void *buf, int len, unsigned int gup_flags); void *buf, int len, unsigned int gup_flags);
extern int access_remote_vm(struct mm_struct *mm, unsigned long addr, 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 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 --- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h +++ b/include/linux/mm_types.h
@@ -267,6 +267,7 @@ struct vm_region { @@ -267,6 +267,7 @@ struct vm_region {
...@@ -116,7 +116,7 @@ index 270aa8fd2800..33848c2165e2 100644 ...@@ -116,7 +116,7 @@ index 270aa8fd2800..33848c2165e2 100644
int vm_usage; /* region usage count (access under nommu_region_sem) */ int vm_usage; /* region usage count (access under nommu_region_sem) */
bool vm_icache_flushed : 1; /* true if the icache has been flushed for 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 unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE
units */ units */
struct file * vm_file; /* File we map to (can be NULL). */ struct file * vm_file; /* File we map to (can be NULL). */
...@@ -125,7 +125,7 @@ index 270aa8fd2800..33848c2165e2 100644 ...@@ -125,7 +125,7 @@ index 270aa8fd2800..33848c2165e2 100644
#ifdef CONFIG_SWAP #ifdef CONFIG_SWAP
diff --git a/kernel/fork.c b/kernel/fork.c diff --git a/kernel/fork.c b/kernel/fork.c
index 080809560072..968e4dc2279f 100644 index 60a1295f4384..44682dd97ca6 100644
--- a/kernel/fork.c --- a/kernel/fork.c
+++ b/kernel/fork.c +++ b/kernel/fork.c
@@ -565,7 +565,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, @@ -565,7 +565,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
...@@ -138,10 +138,10 @@ index 080809560072..968e4dc2279f 100644 ...@@ -138,10 +138,10 @@ index 080809560072..968e4dc2279f 100644
atomic_dec(&inode->i_writecount); atomic_dec(&inode->i_writecount);
i_mmap_lock_write(mapping); i_mmap_lock_write(mapping);
diff --git a/mm/Makefile b/mm/Makefile diff --git a/mm/Makefile b/mm/Makefile
index 1937cc251883..778c1e399903 100644 index 272e66039e70..c8ff3d955c27 100644
--- a/mm/Makefile --- a/mm/Makefile
+++ b/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 \ mm_init.o mmu_context.o percpu.o slab_common.o \
compaction.o vmacache.o \ compaction.o vmacache.o \
interval_tree.o list_lru.o workingset.o \ interval_tree.o list_lru.o workingset.o \
...@@ -151,10 +151,10 @@ index 1937cc251883..778c1e399903 100644 ...@@ -151,10 +151,10 @@ index 1937cc251883..778c1e399903 100644
# Give 'page_alloc' its own module-parameter namespace # Give 'page_alloc' its own module-parameter namespace
page-alloc-y := page_alloc.o page-alloc-y := page_alloc.o
diff --git a/mm/filemap.c b/mm/filemap.c diff --git a/mm/filemap.c b/mm/filemap.c
index bf6aa30be58d..32ca075c0c8b 100644 index 1784478270e1..fb03735cd00e 100644
--- a/mm/filemap.c --- a/mm/filemap.c
+++ b/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; vm_fault_t ret = VM_FAULT_LOCKED;
sb_start_pagefault(inode->i_sb); sb_start_pagefault(inode->i_sb);
...@@ -164,7 +164,7 @@ index bf6aa30be58d..32ca075c0c8b 100644 ...@@ -164,7 +164,7 @@ index bf6aa30be58d..32ca075c0c8b 100644
if (page->mapping != inode->i_mapping) { if (page->mapping != inode->i_mapping) {
unlock_page(page); unlock_page(page);
diff --git a/mm/mmap.c b/mm/mmap.c diff --git a/mm/mmap.c b/mm/mmap.c
index 71e4ffc83bcd..7256e8b985eb 100644 index 6756b8bb0033..aaf773f405ff 100644
--- a/mm/mmap.c --- a/mm/mmap.c
+++ b/mm/mmap.c +++ b/mm/mmap.c
@@ -176,7 +176,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) @@ -176,7 +176,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
...@@ -185,7 +185,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644 ...@@ -185,7 +185,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
} }
if (next->anon_vma) if (next->anon_vma)
anon_vma_merge(vma, next); 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; return addr;
unmap_and_free_vma: unmap_and_free_vma:
...@@ -195,7 +195,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644 ...@@ -195,7 +195,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
/* Undo any partial mapping done by a device driver. */ /* Undo any partial mapping done by a device driver. */
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); 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; goto out_free_mpol;
if (new->vm_file) if (new->vm_file)
...@@ -204,7 +204,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644 ...@@ -204,7 +204,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
if (new->vm_ops && new->vm_ops->open) if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new); 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) if (new->vm_ops && new->vm_ops->close)
new->vm_ops->close(new); new->vm_ops->close(new);
if (new->vm_file) if (new->vm_file)
...@@ -213,7 +213,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644 ...@@ -213,7 +213,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
unlink_anon_vmas(new); unlink_anon_vmas(new);
out_free_mpol: out_free_mpol:
mpol_put(vma_policy(new)); 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; struct vm_area_struct *vma;
unsigned long populate = 0; unsigned long populate = 0;
unsigned long ret = -EINVAL; unsigned long ret = -EINVAL;
...@@ -222,7 +222,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644 ...@@ -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", pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst.\n",
current->comm, current->pid); 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 ...@@ -251,7 +251,7 @@ index 71e4ffc83bcd..7256e8b985eb 100644
out: out:
up_write(&mm->mmap_sem); up_write(&mm->mmap_sem);
if (populate) 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)) if (anon_vma_clone(new_vma, vma))
goto out_free_mempol; goto out_free_mempol;
if (new_vma->vm_file) if (new_vma->vm_file)
......
...@@ -22,7 +22,7 @@ index 046000653e4d..15aa871d1b45 100644 ...@@ -22,7 +22,7 @@ index 046000653e4d..15aa871d1b45 100644
/** /**
* d_ancestor - search for an ancestor * d_ancestor - search for an ancestor
diff --git a/fs/exec.c b/fs/exec.c diff --git a/fs/exec.c b/fs/exec.c
index 74d88dab98dd..71eb4fcace94 100644 index db17be51b112..4bb61917a29a 100644
--- a/fs/exec.c --- a/fs/exec.c
+++ b/fs/exec.c +++ b/fs/exec.c
@@ -109,6 +109,7 @@ bool path_noexec(const struct path *path) @@ -109,6 +109,7 @@ bool path_noexec(const struct path *path)
...@@ -66,19 +66,19 @@ index 30d55c9a1744..34b9bbf4c556 100644 ...@@ -66,19 +66,19 @@ index 30d55c9a1744..34b9bbf4c556 100644
void __init files_init(void) void __init files_init(void)
{ {
diff --git a/fs/inode.c b/fs/inode.c diff --git a/fs/inode.c b/fs/inode.c
index 31796c1040d6..217169541ac4 100644 index c5a5578773d4..5995e737f64a 100644
--- a/fs/inode.c --- a/fs/inode.c
+++ b/fs/inode.c +++ b/fs/inode.c
@@ -1689,6 +1689,7 @@ int update_time(struct inode *inode, struct timespec64 *time, int 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 update_time(inode, time, flags); return generic_update_time(inode, time, flags);
} }
+EXPORT_SYMBOL_GPL(update_time); +EXPORT_SYMBOL_GPL(update_time);
/** /**
* touch_atime - update the access time * touch_atime - update the access time
diff --git a/fs/namespace.c b/fs/namespace.c diff --git a/fs/namespace.c b/fs/namespace.c
index c05ac2488abb..100b7839c8b0 100644 index c742051ba969..e02a680b7fe9 100644
--- a/fs/namespace.c --- a/fs/namespace.c
+++ b/fs/namespace.c +++ b/fs/namespace.c
@@ -431,6 +431,7 @@ void __mnt_drop_write(struct vfsmount *mnt) @@ -431,6 +431,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
...@@ -118,7 +118,7 @@ index 133f723aca07..0b9f7f6d8390 100644 ...@@ -118,7 +118,7 @@ index 133f723aca07..0b9f7f6d8390 100644
/* /*
* Drop a reference to a group. Free it if it's through. * Drop a reference to a group. Free it if it's through.
diff --git a/fs/open.c b/fs/open.c diff --git a/fs/open.c b/fs/open.c
index b62f5c0923a8..89af4b9c7319 100644 index 0788b3715731..cec8ceac6f16 100644
--- a/fs/open.c --- a/fs/open.c
+++ b/fs/open.c +++ b/fs/open.c
@@ -65,6 +65,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, @@ -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 ...@@ -130,7 +130,7 @@ index b62f5c0923a8..89af4b9c7319 100644
long vfs_truncate(const struct path *path, loff_t length) long vfs_truncate(const struct path *path, loff_t length)
{ {
diff --git a/fs/read_write.c b/fs/read_write.c 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 --- a/fs/read_write.c
+++ b/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) @@ -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 ...@@ -166,7 +166,7 @@ index fa9b3994b34c..eb0e2c6ebaff 100644
/* file_ppos returns &file->f_pos or NULL if file is stream */ /* file_ppos returns &file->f_pos or NULL if file is stream */
static inline loff_t *file_ppos(struct file *file) static inline loff_t *file_ppos(struct file *file)
diff --git a/fs/splice.c b/fs/splice.c diff --git a/fs/splice.c b/fs/splice.c
index d9bcc4a71a0a..bf8725e99070 100644 index b1f536d03c09..0872306175b4 100644
--- a/fs/splice.c --- a/fs/splice.c
+++ b/fs/splice.c +++ b/fs/splice.c
@@ -862,6 +862,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, @@ -862,6 +862,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
...@@ -231,10 +231,10 @@ index 0fef395662a6..83fb1ecfc33d 100644 ...@@ -231,10 +231,10 @@ index 0fef395662a6..83fb1ecfc33d 100644
} }
+EXPORT_SYMBOL_GPL(task_work_run); +EXPORT_SYMBOL_GPL(task_work_run);
diff --git a/security/security.c b/security/security.c diff --git a/security/security.c b/security/security.c
index cd2d18d2d279..fbf716450399 100644 index 565bc9b67276..248a63945e9f 100644
--- a/security/security.c --- a/security/security.c
+++ b/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 0;
return call_int_hook(path_rmdir, 0, dir, dentry); return call_int_hook(path_rmdir, 0, dir, dentry);
} }
...@@ -242,7 +242,7 @@ index cd2d18d2d279..fbf716450399 100644 ...@@ -242,7 +242,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_unlink(const struct path *dir, struct dentry *dentry) 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 0;
return call_int_hook(path_symlink, 0, dir, dentry, old_name); return call_int_hook(path_symlink, 0, dir, dentry, old_name);
} }
...@@ -250,7 +250,7 @@ index cd2d18d2d279..fbf716450399 100644 ...@@ -250,7 +250,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_link(struct dentry *old_dentry, const struct path *new_dir, int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
struct dentry *new_dentry) 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 0;
return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry); return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry);
} }
...@@ -258,7 +258,7 @@ index cd2d18d2d279..fbf716450399 100644 ...@@ -258,7 +258,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_rename(const struct path *old_dir, struct dentry *old_dentry, int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
const struct path *new_dir, struct dentry *new_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 0;
return call_int_hook(path_truncate, 0, path); return call_int_hook(path_truncate, 0, path);
} }
...@@ -266,7 +266,7 @@ index cd2d18d2d279..fbf716450399 100644 ...@@ -266,7 +266,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_chmod(const struct path *path, umode_t mode) 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 0;
return call_int_hook(path_chmod, 0, path, mode); return call_int_hook(path_chmod, 0, path, mode);
} }
...@@ -274,7 +274,7 @@ index cd2d18d2d279..fbf716450399 100644 ...@@ -274,7 +274,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid) 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 0;
return call_int_hook(path_chown, 0, path, uid, gid); return call_int_hook(path_chown, 0, path, uid, gid);
} }
...@@ -282,7 +282,7 @@ index cd2d18d2d279..fbf716450399 100644 ...@@ -282,7 +282,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_path_chroot(const struct path *path) 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 0;
return call_int_hook(inode_permission, 0, inode, mask); return call_int_hook(inode_permission, 0, inode, mask);
} }
...@@ -290,7 +290,7 @@ index cd2d18d2d279..fbf716450399 100644 ...@@ -290,7 +290,7 @@ index cd2d18d2d279..fbf716450399 100644
int security_inode_setattr(struct dentry *dentry, struct iattr *attr) 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); return fsnotify_perm(file, mask);
} }
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
#include <limits.h> #include <limits.h>
#endif /* __KERNEL__ */ #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 */ /* todo? move this to linux-2.6.19/include/magic.h */
#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') #define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
......
...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0 ...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN lockdep patch aufs5.x-rcN lockdep patch
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h 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 --- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h +++ b/include/linux/lockdep.h
@@ -17,7 +17,7 @@ struct lockdep_map; @@ -17,7 +17,7 @@ struct lockdep_map;
......
...@@ -16,7 +16,7 @@ index 711a4093e475..a5703d5c7205 100644 ...@@ -16,7 +16,7 @@ index 711a4093e475..a5703d5c7205 100644
extern const struct seq_operations mounts_op; extern const struct seq_operations mounts_op;
diff --git a/fs/namespace.c b/fs/namespace.c diff --git a/fs/namespace.c b/fs/namespace.c
index 5e1bf611a9eb..a4cc7a494f32 100644 index 85b5f7bea82e..ff398173c36f 100644
--- a/fs/namespace.c --- a/fs/namespace.c
+++ b/fs/namespace.c +++ b/fs/namespace.c
@@ -1246,46 +1246,80 @@ struct vfsmount *mnt_clone_internal(const struct path *path) @@ -1246,46 +1246,80 @@ struct vfsmount *mnt_clone_internal(const struct path *path)
......
SPDX-License-Identifier: GPL-2.0 SPDX-License-Identifier: GPL-2.0
diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h 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 --- a/include/linux/shmem_fs.h
+++ b/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 { struct shmem_sb_info {
...@@ -21,7 +21,7 @@ index de8e4b71e3ba..ae8c9fcaea91 100644 ...@@ -21,7 +21,7 @@ index de8e4b71e3ba..ae8c9fcaea91 100644
umode_t mode; /* Mount mode for root directory */ umode_t mode; /* Mount mode for root directory */
unsigned char huge; /* Whether to try for hugepages */ unsigned char huge; /* Whether to try for hugepages */
diff --git a/mm/shmem.c b/mm/shmem.c diff --git a/mm/shmem.c b/mm/shmem.c
index 8793e8cc1a48..ae68925ff71a 100644 index c8f7540ef048..f001b83ad1c3 100644
--- a/mm/shmem.c --- a/mm/shmem.c
+++ b/mm/shmem.c +++ b/mm/shmem.c
@@ -110,7 +110,7 @@ struct shmem_falloc { @@ -110,7 +110,7 @@ struct shmem_falloc {
...@@ -165,7 +165,7 @@ index 8793e8cc1a48..ae68925ff71a 100644 ...@@ -165,7 +165,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
return 1; 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; break;
case Opt_nr_inodes: case Opt_nr_inodes:
ctx->inodes = memparse(param->string, &rest); ctx->inodes = memparse(param->string, &rest);
...@@ -174,7 +174,7 @@ index 8793e8cc1a48..ae68925ff71a 100644 ...@@ -174,7 +174,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
goto bad_value; goto bad_value;
ctx->seen |= SHMEM_SEEN_INODES; ctx->seen |= SHMEM_SEEN_INODES;
break; 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_options *ctx = fc->fs_private;
struct shmem_sb_info *sbinfo = SHMEM_SB(fc->root->d_sb); struct shmem_sb_info *sbinfo = SHMEM_SB(fc->root->d_sb);
...@@ -183,7 +183,7 @@ index 8793e8cc1a48..ae68925ff71a 100644 ...@@ -183,7 +183,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
const char *err; const char *err;
spin_lock(&sbinfo->stat_lock); 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", seq_printf(seq, ",size=%luk",
sbinfo->max_blocks << (PAGE_SHIFT - 10)); sbinfo->max_blocks << (PAGE_SHIFT - 10));
if (sbinfo->max_inodes != shmem_default_max_inodes()) if (sbinfo->max_inodes != shmem_default_max_inodes())
...@@ -192,7 +192,7 @@ index 8793e8cc1a48..ae68925ff71a 100644 ...@@ -192,7 +192,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
if (sbinfo->mode != (0777 | S_ISVTX)) if (sbinfo->mode != (0777 | S_ISVTX))
seq_printf(seq, ",mode=%03ho", sbinfo->mode); seq_printf(seq, ",mode=%03ho", sbinfo->mode);
if (!uid_eq(sbinfo->uid, GLOBAL_ROOT_UID)) 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); struct shmem_sb_info *sbinfo = SHMEM_SB(sb);
...@@ -201,7 +201,7 @@ index 8793e8cc1a48..ae68925ff71a 100644 ...@@ -201,7 +201,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
percpu_counter_destroy(&sbinfo->used_blocks); percpu_counter_destroy(&sbinfo->used_blocks);
mpol_put(sbinfo->mpol); mpol_put(sbinfo->mpol);
kfree(sbinfo); 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 #else
sb->s_flags |= SB_NOUSER; sb->s_flags |= SB_NOUSER;
#endif #endif
...@@ -210,7 +210,7 @@ index 8793e8cc1a48..ae68925ff71a 100644 ...@@ -210,7 +210,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
sbinfo->max_blocks = ctx->blocks; sbinfo->max_blocks = ctx->blocks;
sbinfo->free_inodes = sbinfo->max_inodes = ctx->inodes; sbinfo->free_inodes = sbinfo->max_inodes = ctx->inodes;
sbinfo->uid = ctx->uid; 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); kmem_cache_destroy(shmem_inode_cachep);
} }
...@@ -226,7 +226,7 @@ index 8793e8cc1a48..ae68925ff71a 100644 ...@@ -226,7 +226,7 @@ index 8793e8cc1a48..ae68925ff71a 100644
static const struct address_space_operations shmem_aops = { static const struct address_space_operations shmem_aops = {
.writepage = shmem_writepage, .writepage = shmem_writepage,
.set_page_dirty = __set_page_dirty_no_writeback, .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"); pr_err("Could not kern_mount tmpfs\n");
goto out1; goto out1;
} }
......
SPDX-License-Identifier: GPL-2.0 SPDX-License-Identifier: GPL-2.0
diff --git a/fs/inode.c b/fs/inode.c diff --git a/fs/inode.c b/fs/inode.c
index 96d62d97694e..9f873b4380a4 100644 index 7d57068b6b7a..d78538d2e0c0 100644
--- a/fs/inode.c --- a/fs/inode.c
+++ b/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 *p = &get_cpu_var(last_ino);
unsigned int res = *p; unsigned int res = *p;
...@@ -13,7 +13,7 @@ index 96d62d97694e..9f873b4380a4 100644 ...@@ -13,7 +13,7 @@ index 96d62d97694e..9f873b4380a4 100644
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
if (unlikely((res & (LAST_INO_BATCH-1)) == 0)) { if (unlikely((res & (LAST_INO_BATCH-1)) == 0)) {
static atomic_t shared_last_ino; 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++; res++;
/* get_next_ino should not provide a 0 inode number */ /* get_next_ino should not provide a 0 inode number */
if (unlikely(!res)) 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