]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel-aufs4.patch
- up to 4.17, apparmor needs update
[packages/kernel.git] / kernel-aufs4.patch
index 0d0604488b326b240909fa949a8f08a57979468a..40d9b916ae96fa7476393bf90968aa49384cb0b0 100644 (file)
@@ -14,7 +14,7 @@ index bc821a8..7ae814c 100644
  endif # MISC_FILESYSTEMS
  
 diff --git a/fs/Makefile b/fs/Makefile
-index add789e..26100d6 100644
+index c9375fd..8af5671 100644
 --- a/fs/Makefile
 +++ b/fs/Makefile
 @@ -128,3 +128,4 @@ obj-y                              += exofs/ # Multiple modules
@@ -26,10 +26,10 @@ SPDX-License-Identifier: GPL-2.0
 aufs4.x-rcN base patch
 
 diff --git a/MAINTAINERS b/MAINTAINERS
-index 4623caf..7617c0e 100644
+index 92be777..138f5e6 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -2484,6 +2484,19 @@ F:      include/linux/audit.h
+@@ -2517,6 +2517,19 @@ F:      include/linux/audit.h
  F:    include/uapi/linux/audit.h
  F:    kernel/audit*
  
@@ -50,7 +50,7 @@ index 4623caf..7617c0e 100644
  M:    Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
  W:    http://miguelojeda.es/auxdisplay.htm
 diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 87855b5..962b2d6 100644
+index c9d0449..79902c1 100644
 --- a/drivers/block/loop.c
 +++ b/drivers/block/loop.c
 @@ -691,6 +691,24 @@ static inline int is_loop_device(struct file *file)
@@ -79,10 +79,10 @@ index 87855b5..962b2d6 100644
  
  static ssize_t loop_attr_show(struct device *dev, char *page,
 diff --git a/fs/dcache.c b/fs/dcache.c
-index 7c38f39..9ce5e26 100644
+index 86d2de6..213ddcd 100644
 --- a/fs/dcache.c
 +++ b/fs/dcache.c
-@@ -1200,7 +1200,7 @@ enum d_walk_ret {
+@@ -1234,7 +1234,7 @@ enum d_walk_ret {
   *
   * The @enter() and @finish() callbacks are called with d_lock held.
   */
@@ -92,7 +92,7 @@ index 7c38f39..9ce5e26 100644
                   void (*finish)(void *))
  {
 diff --git a/fs/fcntl.c b/fs/fcntl.c
-index 1e97f1f..8cd01f7 100644
+index d737ff0..7550799 100644
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
 @@ -32,7 +32,7 @@
@@ -114,10 +114,10 @@ index 1e97f1f..8cd01f7 100644
                return error;
  
 diff --git a/fs/inode.c b/fs/inode.c
-index ef36236..929a5a3 100644
+index 13ceb98..68b3b45 100644
 --- a/fs/inode.c
 +++ b/fs/inode.c
-@@ -1659,7 +1659,7 @@ EXPORT_SYMBOL(generic_update_time);
+@@ -1662,7 +1662,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.
   */
@@ -127,7 +127,7 @@ index ef36236..929a5a3 100644
        int (*update_time)(struct inode *, struct timespec *, int);
  
 diff --git a/fs/namespace.c b/fs/namespace.c
-index 9d1374a..26ef600 100644
+index 5f75969..61129ff 100644
 --- a/fs/namespace.c
 +++ b/fs/namespace.c
 @@ -846,6 +846,12 @@ static inline int check_mnt(struct mount *mnt)
@@ -144,10 +144,10 @@ index 9d1374a..26ef600 100644
   * vfsmount lock must be held for write
   */
 diff --git a/fs/read_write.c b/fs/read_write.c
-index f8547b8..0a5c47b 100644
+index c4eabbf..ddd6e67 100644
 --- a/fs/read_write.c
 +++ b/fs/read_write.c
-@@ -484,6 +484,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count,
+@@ -489,6 +489,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count,
                return -EINVAL;
  }
  
@@ -177,7 +177,7 @@ index f8547b8..0a5c47b 100644
  {
        mm_segment_t old_fs;
 diff --git a/fs/splice.c b/fs/splice.c
-index 39e2dc0..c5fb195 100644
+index 005d09c..f617ab0 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
 @@ -837,8 +837,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
@@ -205,7 +205,7 @@ index 39e2dc0..c5fb195 100644
        ssize_t (*splice_read)(struct file *, loff_t *,
                               struct pipe_inode_info *, size_t, unsigned int);
 diff --git a/fs/sync.c b/fs/sync.c
-index 6e0a2cb..a6891ee 100644
+index b54e054..2860782 100644
 --- a/fs/sync.c
 +++ b/fs/sync.c
 @@ -28,7 +28,7 @@
@@ -230,7 +230,7 @@ index 279720d..76e38ea 100644
  static inline void fput_light(struct file *file, int fput_needed)
  {
 diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 79c41398..383ab06 100644
+index 760d8da..09a2542 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
 @@ -1270,6 +1270,7 @@ extern void fasync_free(struct fasync_struct *);
@@ -241,7 +241,7 @@ index 79c41398..383ab06 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);
-@@ -1721,6 +1722,7 @@ struct file_operations {
+@@ -1724,6 +1725,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);
@@ -249,7 +249,7 @@ index 79c41398..383ab06 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);
-@@ -1791,6 +1793,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
+@@ -1794,6 +1796,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
                              struct iovec *fast_pointer,
                              struct iovec **ret_pointer);
  
@@ -262,7 +262,7 @@ index 79c41398..383ab06 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 *);
-@@ -2195,6 +2203,7 @@ extern int current_umask(void);
+@@ -2199,6 +2207,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 timespec *, int);
@@ -270,7 +270,7 @@ index 79c41398..383ab06 100644
  
  /* /sys/fs */
  extern struct kobject *fs_kobj;
-@@ -2475,6 +2484,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
+@@ -2485,6 +2494,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
        return false;
  }
  #endif
@@ -334,7 +334,7 @@ index 74b4911..19789fb 100644
 +                       unsigned int flags);
  #endif
 diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
-index 89b5f83..0dca42f 100644
+index 0233863..06e0d7a 100644
 --- a/kernel/locking/lockdep.c
 +++ b/kernel/locking/lockdep.c
 @@ -140,7 +140,7 @@ static struct lock_list list_entries[MAX_LOCKDEP_ENTRIES];
@@ -358,10 +358,10 @@ SPDX-License-Identifier: GPL-2.0
 aufs4.x-rcN mmap patch
 
 diff --git a/fs/proc/base.c b/fs/proc/base.c
-index 9298324..da5bf4f9 100644
+index 1b2ede6..dc3fd6d 100644
 --- a/fs/proc/base.c
 +++ b/fs/proc/base.c
-@@ -2014,7 +2014,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
+@@ -2024,7 +2024,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
        down_read(&mm->mmap_sem);
        vma = find_exact_vma(mm, vm_start, vm_end);
        if (vma && vma->vm_file) {
@@ -387,10 +387,10 @@ index 7563437..7c0dc0f 100644
                ino = inode->i_ino;
        }
 diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
-index ec6d298..34c7193 100644
+index c486ad4..76b71f8 100644
 --- a/fs/proc/task_mmu.c
 +++ b/fs/proc/task_mmu.c
-@@ -311,7 +311,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid)
+@@ -305,7 +305,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid)
        const char *name = NULL;
  
        if (file) {
@@ -402,7 +402,7 @@ index ec6d298..34c7193 100644
                dev = inode->i_sb->s_dev;
                ino = inode->i_ino;
                pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
-@@ -1741,7 +1744,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
+@@ -1726,7 +1729,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
        struct proc_maps_private *proc_priv = &numa_priv->proc_maps;
        struct vm_area_struct *vma = v;
        struct numa_maps *md = &numa_priv->md;
@@ -428,10 +428,10 @@ index 5b62f57..dfb4a3b 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 ad06d42..75e5d37 100644
+index 1ac1f06..49997d9 100644
 --- a/include/linux/mm.h
 +++ b/include/linux/mm.h
-@@ -1368,6 +1368,28 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
+@@ -1380,6 +1380,28 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
        unmap_mapping_range(mapping, holebegin, holelen, 0);
  }
  
@@ -461,10 +461,10 @@ index ad06d42..75e5d37 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 fd1af6b..89ec438 100644
+index 2161234..78aa367 100644
 --- a/include/linux/mm_types.h
 +++ b/include/linux/mm_types.h
-@@ -249,6 +249,7 @@ struct vm_region {
+@@ -251,6 +251,7 @@ struct vm_region {
        unsigned long   vm_top;         /* region allocated to here */
        unsigned long   vm_pgoff;       /* the offset in vm_file corresponding to vm_start */
        struct file     *vm_file;       /* the backing file or NULL */
@@ -472,7 +472,7 @@ index fd1af6b..89ec438 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
-@@ -323,6 +324,7 @@ struct vm_area_struct {
+@@ -325,6 +326,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). */
@@ -481,10 +481,10 @@ index fd1af6b..89ec438 100644
  
        atomic_long_t swap_readahead_info;
 diff --git a/kernel/fork.c b/kernel/fork.c
-index e5d9d40..f6f6fbf 100644
+index a5d21c4..e965e09 100644
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
-@@ -474,7 +474,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
+@@ -473,7 +473,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
                        struct inode *inode = file_inode(file);
                        struct address_space *mapping = file->f_mapping;
  
@@ -494,12 +494,12 @@ index e5d9d40..f6f6fbf 100644
                                atomic_dec(&inode->i_writecount);
                        i_mmap_lock_write(mapping);
 diff --git a/mm/Makefile b/mm/Makefile
-index e669f02..9c36567 100644
+index b4e54a9a..77892ae 100644
 --- a/mm/Makefile
 +++ b/mm/Makefile
 @@ -39,7 +39,7 @@ obj-y                        := filemap.o mempool.o oom_kill.o \
                           mm_init.o mmu_context.o percpu.o slab_common.o \
-                          compaction.o vmacache.o swap_slots.o \
+                          compaction.o vmacache.o \
                           interval_tree.o list_lru.o workingset.o \
 -                         debug.o $(mmu-y)
 +                         prfile.o debug.o $(mmu-y)
@@ -507,10 +507,10 @@ index e669f02..9c36567 100644
  obj-y += init-mm.o
  
 diff --git a/mm/filemap.c b/mm/filemap.c
-index 693f622..ea46048 100644
+index 0604cb0..45d2369 100644
 --- a/mm/filemap.c
 +++ b/mm/filemap.c
-@@ -2703,7 +2703,7 @@ int filemap_page_mkwrite(struct vm_fault *vmf)
+@@ -2700,7 +2700,7 @@ int filemap_page_mkwrite(struct vm_fault *vmf)
        int ret = VM_FAULT_LOCKED;
  
        sb_start_pagefault(inode->i_sb);
@@ -520,7 +520,7 @@ index 693f622..ea46048 100644
        if (page->mapping != inode->i_mapping) {
                unlock_page(page);
 diff --git a/mm/mmap.c b/mm/mmap.c
-index 9efdc021..d77f01f 100644
+index 188f195..3c1ca1d 100644
 --- a/mm/mmap.c
 +++ b/mm/mmap.c
 @@ -171,7 +171,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
@@ -541,7 +541,7 @@ index 9efdc021..d77f01f 100644
                }
                if (next->anon_vma)
                        anon_vma_merge(vma, next);
-@@ -1761,8 +1761,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
+@@ -1779,8 +1779,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
        return addr;
  
  unmap_and_free_vma:
@@ -551,7 +551,7 @@ index 9efdc021..d77f01f 100644
  
        /* Undo any partial mapping done by a device driver. */
        unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
-@@ -2586,7 +2586,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2604,7 +2604,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
                goto out_free_mpol;
  
        if (new->vm_file)
@@ -560,7 +560,7 @@ index 9efdc021..d77f01f 100644
  
        if (new->vm_ops && new->vm_ops->open)
                new->vm_ops->open(new);
-@@ -2605,7 +2605,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2623,7 +2623,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)
@@ -569,7 +569,7 @@ index 9efdc021..d77f01f 100644
        unlink_anon_vmas(new);
   out_free_mpol:
        mpol_put(vma_policy(new));
-@@ -2767,7 +2767,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -2785,7 +2785,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;
@@ -578,7 +578,7 @@ index 9efdc021..d77f01f 100644
  
        pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.txt.\n",
                     current->comm, current->pid);
-@@ -2842,10 +2842,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -2860,10 +2860,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
                }
        }
  
@@ -607,7 +607,7 @@ index 9efdc021..d77f01f 100644
  out:
        up_write(&mm->mmap_sem);
        if (populate)
-@@ -3153,7 +3170,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
+@@ -3171,7 +3188,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)
@@ -617,10 +617,10 @@ index 9efdc021..d77f01f 100644
                        new_vma->vm_ops->open(new_vma);
                vma_link(mm, new_vma, prev, rb_link, rb_parent);
 diff --git a/mm/nommu.c b/mm/nommu.c
-index ebb6e61..8cf2428 100644
+index 1372373..6362dde 100644
 --- a/mm/nommu.c
 +++ b/mm/nommu.c
-@@ -641,7 +641,7 @@ static void __put_nommu_region(struct vm_region *region)
+@@ -629,7 +629,7 @@ static void __put_nommu_region(struct vm_region *region)
                up_write(&nommu_region_sem);
  
                if (region->vm_file)
@@ -629,7 +629,7 @@ index ebb6e61..8cf2428 100644
  
                /* IO memory and memory shared directly out of the pagecache
                 * from ramfs/tmpfs mustn't be released here */
-@@ -799,7 +799,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
+@@ -767,7 +767,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
        if (vma->vm_ops && vma->vm_ops->close)
                vma->vm_ops->close(vma);
        if (vma->vm_file)
@@ -638,7 +638,7 @@ index ebb6e61..8cf2428 100644
        put_nommu_region(vma->vm_region);
        kmem_cache_free(vm_area_cachep, vma);
  }
-@@ -1321,7 +1321,7 @@ unsigned long do_mmap(struct file *file,
+@@ -1289,7 +1289,7 @@ unsigned long do_mmap(struct file *file,
                                        goto error_just_free;
                                }
                        }
@@ -647,7 +647,7 @@ index ebb6e61..8cf2428 100644
                        kmem_cache_free(vm_region_jar, region);
                        region = pregion;
                        result = start;
-@@ -1396,10 +1396,10 @@ unsigned long do_mmap(struct file *file,
+@@ -1364,10 +1364,10 @@ unsigned long do_mmap(struct file *file,
        up_write(&nommu_region_sem);
  error:
        if (region->vm_file)
@@ -662,7 +662,7 @@ index ebb6e61..8cf2428 100644
  
 diff --git a/mm/prfile.c b/mm/prfile.c
 new file mode 100644
-index 0000000..3f56669
+index 0000000..14efc4f
 --- /dev/null
 +++ b/mm/prfile.c
 @@ -0,0 +1,86 @@
@@ -674,7 +674,7 @@ index 0000000..3f56669
 + *
 + * See Documentation/filesystems/aufs/design/06mmap.txt
 + *
-+ * Copyright (c) 2014-2017 Junjro R. Okajima
++ * Copyright (c) 2014-2018 Junjro R. Okajima
 + * Copyright (c) 2014 Ian Campbell
 + */
 +
@@ -756,10 +756,10 @@ SPDX-License-Identifier: GPL-2.0
 aufs4.x-rcN standalone patch
 
 diff --git a/fs/dcache.c b/fs/dcache.c
-index 9ce5e26..0f59369 100644
+index 213ddcd..137176b 100644
 --- a/fs/dcache.c
 +++ b/fs/dcache.c
-@@ -1308,6 +1308,7 @@ void d_walk(struct dentry *parent, void *data,
+@@ -1342,6 +1342,7 @@ void d_walk(struct dentry *parent, void *data,
        seq = 1;
        goto again;
  }
@@ -776,7 +776,7 @@ index 9ce5e26..0f59369 100644
  /**
   * d_ancestor - search for an ancestor
 diff --git a/fs/exec.c b/fs/exec.c
-index 7eb8d21..56d7985 100644
+index 183059c..35adee4 100644
 --- a/fs/exec.c
 +++ b/fs/exec.c
 @@ -109,6 +109,7 @@ bool path_noexec(const struct path *path)
@@ -788,7 +788,7 @@ index 7eb8d21..56d7985 100644
  #ifdef CONFIG_USELIB
  /*
 diff --git a/fs/fcntl.c b/fs/fcntl.c
-index 8cd01f7..bdd1c6c 100644
+index 7550799..d403576 100644
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
 @@ -85,6 +85,7 @@ int setfl(int fd, struct file * filp, unsigned long arg)
@@ -836,10 +836,10 @@ index 7ec0b3e..819ee07 100644
  void __init files_init(void)
  {
 diff --git a/fs/inode.c b/fs/inode.c
-index 929a5a3..d93653e 100644
+index 68b3b45..af4551e 100644
 --- a/fs/inode.c
 +++ b/fs/inode.c
-@@ -1668,6 +1668,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags)
+@@ -1671,6 +1671,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags)
  
        return update_time(inode, time, flags);
  }
@@ -848,7 +848,7 @@ index 929a5a3..d93653e 100644
  /**
   *    touch_atime     -       update the access time
 diff --git a/fs/namespace.c b/fs/namespace.c
-index 26ef600..a4b9707 100644
+index 61129ff..5d3e0382 100644
 --- a/fs/namespace.c
 +++ b/fs/namespace.c
 @@ -517,6 +517,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
@@ -867,7 +867,7 @@ index 26ef600..a4b9707 100644
  
  /*
   * vfsmount lock must be held for write
-@@ -1887,6 +1889,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
+@@ -1893,6 +1895,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
        }
        return 0;
  }
@@ -948,7 +948,7 @@ index e9191b4..1f8ccfa 100644
  /*
   * Destroy all marks in destroy_list, waits for SRCU period to finish before
 diff --git a/fs/open.c b/fs/open.c
-index 7ea1184..6e2e241 100644
+index c5ee7cd..86bfe2d 100644
 --- a/fs/open.c
 +++ b/fs/open.c
 @@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
@@ -959,19 +959,11 @@ index 7ea1184..6e2e241 100644
  
  long vfs_truncate(const struct path *path, loff_t length)
  {
-@@ -691,6 +692,7 @@ int open_check_o_direct(struct file *f)
-       }
-       return 0;
- }
-+EXPORT_SYMBOL_GPL(open_check_o_direct);
- static int do_dentry_open(struct file *f,
-                         struct inode *inode,
 diff --git a/fs/read_write.c b/fs/read_write.c
-index 0a5c47b..d423a5f 100644
+index ddd6e67..aabf92d 100644
 --- a/fs/read_write.c
 +++ b/fs/read_write.c
-@@ -454,6 +454,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
+@@ -459,6 +459,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
  
        return ret;
  }
@@ -979,7 +971,7 @@ index 0a5c47b..d423a5f 100644
  
  static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos)
  {
-@@ -494,6 +495,7 @@ vfs_readf_t vfs_readf(struct file *file)
+@@ -499,6 +500,7 @@ vfs_readf_t vfs_readf(struct file *file)
                return new_sync_read;
        return ERR_PTR(-ENOSYS);
  }
@@ -987,7 +979,7 @@ index 0a5c47b..d423a5f 100644
  
  vfs_writef_t vfs_writef(struct file *file)
  {
-@@ -505,6 +507,7 @@ vfs_writef_t vfs_writef(struct file *file)
+@@ -510,6 +512,7 @@ vfs_writef_t vfs_writef(struct file *file)
                return new_sync_write;
        return ERR_PTR(-ENOSYS);
  }
@@ -995,7 +987,7 @@ index 0a5c47b..d423a5f 100644
  
  ssize_t __kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos)
  {
-@@ -574,6 +577,7 @@ ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_
+@@ -579,6 +582,7 @@ ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_
  
        return ret;
  }
@@ -1004,7 +996,7 @@ index 0a5c47b..d423a5f 100644
  static inline loff_t file_pos_read(struct file *file)
  {
 diff --git a/fs/splice.c b/fs/splice.c
-index c5fb195..ce01a74 100644
+index f617ab0..ec0ad02 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
 @@ -850,6 +850,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
@@ -1024,7 +1016,7 @@ index c5fb195..ce01a74 100644
  /**
   * splice_direct_to_actor - splices data directly between two non-pipes
 diff --git a/fs/sync.c b/fs/sync.c
-index a6891ee..47a78bd 100644
+index 2860782..ffd7ea4 100644
 --- a/fs/sync.c
 +++ b/fs/sync.c
 @@ -39,6 +39,7 @@ int __sync_filesystem(struct super_block *sb, int wait)
@@ -1048,7 +1040,7 @@ index 61cd28b..35570cd 100644
  ssize_t
  __vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
 diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
-index 0dca42f..7bb20c5 100644
+index 06e0d7a..6af91bd 100644
 --- a/kernel/locking/lockdep.c
 +++ b/kernel/locking/lockdep.c
 @@ -151,6 +151,7 @@ inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock)
@@ -1105,10 +1097,10 @@ index c65b39b..e363d22 100644
  }
 +EXPORT_SYMBOL_GPL(__devcgroup_check_permission);
 diff --git a/security/security.c b/security/security.c
-index 1cd8526..f2e4736 100644
+index 7bc2fde..6bd0468 100644
 --- a/security/security.c
 +++ b/security/security.c
-@@ -531,6 +531,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
+@@ -537,6 +537,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
                return 0;
        return call_int_hook(path_rmdir, 0, dir, dentry);
  }
@@ -1116,7 +1108,7 @@ index 1cd8526..f2e4736 100644
  
  int security_path_unlink(const struct path *dir, struct dentry *dentry)
  {
-@@ -547,6 +548,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry,
+@@ -553,6 +554,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);
  }
@@ -1124,7 +1116,7 @@ index 1cd8526..f2e4736 100644
  
  int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
                       struct dentry *new_dentry)
-@@ -555,6 +557,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
+@@ -561,6 +563,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);
  }
@@ -1132,7 +1124,7 @@ index 1cd8526..f2e4736 100644
  
  int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
                         const struct path *new_dir, struct dentry *new_dentry,
-@@ -582,6 +585,7 @@ int security_path_truncate(const struct path *path)
+@@ -588,6 +591,7 @@ int security_path_truncate(const struct path *path)
                return 0;
        return call_int_hook(path_truncate, 0, path);
  }
@@ -1140,7 +1132,7 @@ index 1cd8526..f2e4736 100644
  
  int security_path_chmod(const struct path *path, umode_t mode)
  {
-@@ -589,6 +593,7 @@ int security_path_chmod(const struct path *path, umode_t mode)
+@@ -595,6 +599,7 @@ int security_path_chmod(const struct path *path, umode_t mode)
                return 0;
        return call_int_hook(path_chmod, 0, path, mode);
  }
@@ -1148,7 +1140,7 @@ index 1cd8526..f2e4736 100644
  
  int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
  {
-@@ -596,6 +601,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
+@@ -602,6 +607,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);
  }
@@ -1156,7 +1148,7 @@ index 1cd8526..f2e4736 100644
  
  int security_path_chroot(const struct path *path)
  {
-@@ -681,6 +687,7 @@ int security_inode_readlink(struct dentry *dentry)
+@@ -687,6 +693,7 @@ int security_inode_readlink(struct dentry *dentry)
                return 0;
        return call_int_hook(inode_readlink, 0, dentry);
  }
@@ -1164,7 +1156,7 @@ index 1cd8526..f2e4736 100644
  
  int security_inode_follow_link(struct dentry *dentry, struct inode *inode,
                               bool rcu)
-@@ -696,6 +703,7 @@ int security_inode_permission(struct inode *inode, int mask)
+@@ -702,6 +709,7 @@ int security_inode_permission(struct inode *inode, int mask)
                return 0;
        return call_int_hook(inode_permission, 0, inode, mask);
  }
@@ -1172,7 +1164,7 @@ index 1cd8526..f2e4736 100644
  
  int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
  {
-@@ -867,6 +875,7 @@ int security_file_permission(struct file *file, int mask)
+@@ -873,6 +881,7 @@ int security_file_permission(struct file *file, int mask)
  
        return fsnotify_perm(file, mask);
  }
@@ -1180,7 +1172,7 @@ index 1cd8526..f2e4736 100644
  
  int security_file_alloc(struct file *file)
  {
-@@ -926,6 +935,7 @@ int security_mmap_file(struct file *file, unsigned long prot,
+@@ -932,6 +941,7 @@ int security_mmap_file(struct file *file, unsigned long prot,
                return ret;
        return ima_file_mmap(file, prot);
  }
@@ -1190,7 +1182,7 @@ index 1cd8526..f2e4736 100644
  {
 diff -urN /usr/share/empty/Documentation/ABI/testing/debugfs-aufs linux/Documentation/ABI/testing/debugfs-aufs
 --- /usr/share/empty/Documentation/ABI/testing/debugfs-aufs    1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/ABI/testing/debugfs-aufs       2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/ABI/testing/debugfs-aufs       2017-07-29 12:14:25.893041746 +0200
 @@ -0,0 +1,50 @@
 +What:         /debug/aufs/si_<id>/
 +Date:         March 2009
@@ -1244,7 +1236,7 @@ diff -urN /usr/share/empty/Documentation/ABI/testing/debugfs-aufs linux/Document
 +              will be empty. About XINO files, see the aufs manual.
 diff -urN /usr/share/empty/Documentation/ABI/testing/sysfs-aufs linux/Documentation/ABI/testing/sysfs-aufs
 --- /usr/share/empty/Documentation/ABI/testing/sysfs-aufs      1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/ABI/testing/sysfs-aufs 2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/ABI/testing/sysfs-aufs 2017-07-29 12:14:25.893041746 +0200
 @@ -0,0 +1,31 @@
 +What:         /sys/fs/aufs/si_<id>/
 +Date:         March 2009
@@ -1279,10 +1271,10 @@ diff -urN /usr/share/empty/Documentation/ABI/testing/sysfs-aufs linux/Documentat
 +              will be empty. About XINO files, see the aufs manual.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/01intro.txt linux/Documentation/filesystems/aufs/design/01intro.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/01intro.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/01intro.txt    2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/01intro.txt    2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,171 @@
 +
-+# Copyright (C) 2005-2017 Junjiro R. Okajima
++# Copyright (C) 2005-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -1454,10 +1446,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/01intro.txt lin
 +about it. But currently I have implemented it in kernel space.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/02struct.txt linux/Documentation/filesystems/aufs/design/02struct.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/02struct.txt        1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/02struct.txt   2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/02struct.txt   2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,258 @@
 +
-+# Copyright (C) 2005-2017 Junjiro R. Okajima
++# Copyright (C) 2005-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -1716,10 +1708,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/02struct.txt li
 +For this purpose, use "aumvdown" command in aufs-util.git.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/03atomic_open.txt linux/Documentation/filesystems/aufs/design/03atomic_open.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/03atomic_open.txt   1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/03atomic_open.txt      2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/03atomic_open.txt      2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,85 @@
 +
-+# Copyright (C) 2015-2017 Junjiro R. Okajima
++# Copyright (C) 2015-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -1805,10 +1797,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/03atomic_open.t
 +       be implemented in aufs, but not all I am afraid.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/03lookup.txt linux/Documentation/filesystems/aufs/design/03lookup.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/03lookup.txt        1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/03lookup.txt   2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/03lookup.txt   2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,113 @@
 +
-+# Copyright (C) 2005-2017 Junjiro R. Okajima
++# Copyright (C) 2005-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -1922,10 +1914,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/03lookup.txt li
 +   by over-mounting something (or another method).
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/04branch.txt linux/Documentation/filesystems/aufs/design/04branch.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/04branch.txt        1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/04branch.txt   2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/04branch.txt   2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,74 @@
 +
-+# Copyright (C) 2005-2017 Junjiro R. Okajima
++# Copyright (C) 2005-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -2000,10 +1992,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/04branch.txt li
 +    same named entry on the upper branch.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/05wbr_policy.txt linux/Documentation/filesystems/aufs/design/05wbr_policy.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/05wbr_policy.txt    1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/05wbr_policy.txt       2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/05wbr_policy.txt       2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,64 @@
 +
-+# Copyright (C) 2005-2017 Junjiro R. Okajima
++# Copyright (C) 2005-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -2068,7 +2060,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/05wbr_policy.tx
 +  copyup policy.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.dot linux/Documentation/filesystems/aufs/design/06dirren.dot
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.dot        1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06dirren.dot   2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/06dirren.dot   2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,31 @@
 +
 +// to view this graph, run dot(1) command in GRAPHVIZ.
@@ -2103,10 +2095,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.dot li
 +}
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.txt linux/Documentation/filesystems/aufs/design/06dirren.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.txt        1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06dirren.txt   2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/06dirren.txt   2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,102 @@
 +
-+# Copyright (C) 2017 Junjiro R. Okajima
++# Copyright (C) 2017-2018 Junjiro R. Okajima
 +#
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -2209,10 +2201,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.txt li
 +equivalen to udba=reval case.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06fhsm.txt linux/Documentation/filesystems/aufs/design/06fhsm.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06fhsm.txt  1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06fhsm.txt     2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/06fhsm.txt     2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,120 @@
 +
-+# Copyright (C) 2011-2017 Junjiro R. Okajima
++# Copyright (C) 2011-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -2333,10 +2325,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06fhsm.txt linu
 +should restore the original file state after an error happens.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06mmap.txt linux/Documentation/filesystems/aufs/design/06mmap.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06mmap.txt  1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06mmap.txt     2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/06mmap.txt     2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,72 @@
 +
-+# Copyright (C) 2005-2017 Junjiro R. Okajima
++# Copyright (C) 2005-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -2409,10 +2401,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06mmap.txt linu
 +I have to give up this "looks-smater" approach.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06xattr.txt linux/Documentation/filesystems/aufs/design/06xattr.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06xattr.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06xattr.txt    2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/06xattr.txt    2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,96 @@
 +
-+# Copyright (C) 2014-2017 Junjiro R. Okajima
++# Copyright (C) 2014-2018 Junjiro R. Okajima
 +#
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -2509,10 +2501,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06xattr.txt lin
 +now, aufs implements the branch attributes to ignore the error.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/07export.txt linux/Documentation/filesystems/aufs/design/07export.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/07export.txt        1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/07export.txt   2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/07export.txt   2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,58 @@
 +
-+# Copyright (C) 2005-2017 Junjiro R. Okajima
++# Copyright (C) 2005-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -2571,10 +2563,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/07export.txt li
 +  lookup_one_len(), vfs_getattr(), encode_fh() and others.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/08shwh.txt linux/Documentation/filesystems/aufs/design/08shwh.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/08shwh.txt  1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/08shwh.txt     2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/08shwh.txt     2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,52 @@
 +
-+# Copyright (C) 2005-2017 Junjiro R. Okajima
++# Copyright (C) 2005-2018 Junjiro R. Okajima
 +# 
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -2627,10 +2619,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/08shwh.txt linu
 +initramfs will use it to replace the old one at the next boot.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/10dynop.txt linux/Documentation/filesystems/aufs/design/10dynop.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/10dynop.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/10dynop.txt    2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/design/10dynop.txt    2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,47 @@
 +
-+# Copyright (C) 2010-2017 Junjiro R. Okajima
++# Copyright (C) 2010-2018 Junjiro R. Okajima
 +#
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
@@ -2678,7 +2670,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/10dynop.txt lin
 +regular files only.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/README linux/Documentation/filesystems/aufs/README
 --- /usr/share/empty/Documentation/filesystems/aufs/README     1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/README        2018-04-06 07:48:44.201271351 +0200
++++ linux/Documentation/filesystems/aufs/README        2017-07-29 12:14:25.893041746 +0200
 @@ -0,0 +1,393 @@
 +
 +Aufs4 -- advanced multi layered unification filesystem version 4.x
@@ -3075,10 +3067,10 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/README linux/Documenta
 +# End: ;
 diff -urN /usr/share/empty/fs/aufs/aufs.h linux/fs/aufs/aufs.h
 --- /usr/share/empty/fs/aufs/aufs.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/aufs.h       2018-04-06 07:48:44.201271351 +0200
++++ linux/fs/aufs/aufs.h       2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,60 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -3139,10 +3131,10 @@ diff -urN /usr/share/empty/fs/aufs/aufs.h linux/fs/aufs/aufs.h
 +#endif /* __AUFS_H__ */
 diff -urN /usr/share/empty/fs/aufs/branch.c linux/fs/aufs/branch.c
 --- /usr/share/empty/fs/aufs/branch.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/branch.c     2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/branch.c     2018-04-15 08:49:13.394483860 +0200
 @@ -0,0 +1,1432 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -4575,10 +4567,10 @@ diff -urN /usr/share/empty/fs/aufs/branch.c linux/fs/aufs/branch.c
 +}
 diff -urN /usr/share/empty/fs/aufs/branch.h linux/fs/aufs/branch.h
 --- /usr/share/empty/fs/aufs/branch.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/branch.h     2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/branch.h     2018-06-04 09:08:09.181412645 +0200
 @@ -0,0 +1,333 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -4912,7 +4904,7 @@ diff -urN /usr/share/empty/fs/aufs/branch.h linux/fs/aufs/branch.h
 +#endif /* __AUFS_BRANCH_H__ */
 diff -urN /usr/share/empty/fs/aufs/conf.mk linux/fs/aufs/conf.mk
 --- /usr/share/empty/fs/aufs/conf.mk   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/conf.mk      2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/conf.mk      2018-06-04 09:08:09.181412645 +0200
 @@ -0,0 +1,40 @@
 +# SPDX-License-Identifier: GPL-2.0
 +
@@ -4956,10 +4948,10 @@ diff -urN /usr/share/empty/fs/aufs/conf.mk linux/fs/aufs/conf.mk
 +-include ${srctree}/${src}/conf_priv.mk
 diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 --- /usr/share/empty/fs/aufs/cpup.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/cpup.c       2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/cpup.c       2018-06-04 09:08:09.181412645 +0200
 @@ -0,0 +1,1441 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -6401,10 +6393,10 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 +}
 diff -urN /usr/share/empty/fs/aufs/cpup.h linux/fs/aufs/cpup.h
 --- /usr/share/empty/fs/aufs/cpup.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/cpup.h       2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/cpup.h       2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,99 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -6504,10 +6496,10 @@ diff -urN /usr/share/empty/fs/aufs/cpup.h linux/fs/aufs/cpup.h
 +#endif /* __AUFS_CPUP_H__ */
 diff -urN /usr/share/empty/fs/aufs/dbgaufs.c linux/fs/aufs/dbgaufs.c
 --- /usr/share/empty/fs/aufs/dbgaufs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dbgaufs.c    2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dbgaufs.c    2018-06-04 09:08:09.181412645 +0200
 @@ -0,0 +1,437 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -6945,10 +6937,10 @@ diff -urN /usr/share/empty/fs/aufs/dbgaufs.c linux/fs/aufs/dbgaufs.c
 +}
 diff -urN /usr/share/empty/fs/aufs/dbgaufs.h linux/fs/aufs/dbgaufs.h
 --- /usr/share/empty/fs/aufs/dbgaufs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dbgaufs.h    2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dbgaufs.h    2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,48 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -6997,10 +6989,10 @@ diff -urN /usr/share/empty/fs/aufs/dbgaufs.h linux/fs/aufs/dbgaufs.h
 +#endif /* __DBGAUFS_H__ */
 diff -urN /usr/share/empty/fs/aufs/dcsub.c linux/fs/aufs/dcsub.c
 --- /usr/share/empty/fs/aufs/dcsub.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dcsub.c      2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dcsub.c      2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,225 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -7226,10 +7218,10 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.c linux/fs/aufs/dcsub.c
 +}
 diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
 --- /usr/share/empty/fs/aufs/dcsub.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dcsub.h      2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dcsub.h      2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,136 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -7366,10 +7358,10 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
 +#endif /* __AUFS_DCSUB_H__ */
 diff -urN /usr/share/empty/fs/aufs/debug.c linux/fs/aufs/debug.c
 --- /usr/share/empty/fs/aufs/debug.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/debug.c      2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/debug.c      2018-06-04 09:08:09.181412645 +0200
 @@ -0,0 +1,440 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -7810,10 +7802,10 @@ diff -urN /usr/share/empty/fs/aufs/debug.c linux/fs/aufs/debug.c
 +}
 diff -urN /usr/share/empty/fs/aufs/debug.h linux/fs/aufs/debug.h
 --- /usr/share/empty/fs/aufs/debug.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/debug.h      2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/debug.h      2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,225 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -8039,10 +8031,10 @@ diff -urN /usr/share/empty/fs/aufs/debug.h linux/fs/aufs/debug.h
 +#endif /* __AUFS_DEBUG_H__ */
 diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
 --- /usr/share/empty/fs/aufs/dentry.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dentry.c     2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dentry.c     2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,1152 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -9195,10 +9187,10 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
 +};
 diff -urN /usr/share/empty/fs/aufs/dentry.h linux/fs/aufs/dentry.h
 --- /usr/share/empty/fs/aufs/dentry.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dentry.h     2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dentry.h     2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,266 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -9465,10 +9457,10 @@ diff -urN /usr/share/empty/fs/aufs/dentry.h linux/fs/aufs/dentry.h
 +#endif /* __AUFS_DENTRY_H__ */
 diff -urN /usr/share/empty/fs/aufs/dinfo.c linux/fs/aufs/dinfo.c
 --- /usr/share/empty/fs/aufs/dinfo.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dinfo.c      2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dinfo.c      2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,553 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -10022,10 +10014,10 @@ diff -urN /usr/share/empty/fs/aufs/dinfo.c linux/fs/aufs/dinfo.c
 +}
 diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c
 --- /usr/share/empty/fs/aufs/dir.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dir.c        2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dir.c        2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,759 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -10785,10 +10777,10 @@ diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c
 +};
 diff -urN /usr/share/empty/fs/aufs/dir.h linux/fs/aufs/dir.h
 --- /usr/share/empty/fs/aufs/dir.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dir.h        2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dir.h        2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,131 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -10920,10 +10912,10 @@ diff -urN /usr/share/empty/fs/aufs/dir.h linux/fs/aufs/dir.h
 +#endif /* __AUFS_DIR_H__ */
 diff -urN /usr/share/empty/fs/aufs/dirren.c linux/fs/aufs/dirren.c
 --- /usr/share/empty/fs/aufs/dirren.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dirren.c     2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dirren.c     2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,1315 @@
 +/*
-+ * Copyright (C) 2017 Junjiro R. Okajima
++ * Copyright (C) 2017-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -12239,10 +12231,10 @@ diff -urN /usr/share/empty/fs/aufs/dirren.c linux/fs/aufs/dirren.c
 +}
 diff -urN /usr/share/empty/fs/aufs/dirren.h linux/fs/aufs/dirren.h
 --- /usr/share/empty/fs/aufs/dirren.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dirren.h     2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dirren.h     2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,139 @@
 +/*
-+ * Copyright (C) 2017 Junjiro R. Okajima
++ * Copyright (C) 2017-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -12382,10 +12374,10 @@ diff -urN /usr/share/empty/fs/aufs/dirren.h linux/fs/aufs/dirren.h
 +#endif /* __AUFS_DIRREN_H__ */
 diff -urN /usr/share/empty/fs/aufs/dynop.c linux/fs/aufs/dynop.c
 --- /usr/share/empty/fs/aufs/dynop.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dynop.c      2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dynop.c      2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,369 @@
 +/*
-+ * Copyright (C) 2010-2017 Junjiro R. Okajima
++ * Copyright (C) 2010-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -12755,10 +12747,10 @@ diff -urN /usr/share/empty/fs/aufs/dynop.c linux/fs/aufs/dynop.c
 +}
 diff -urN /usr/share/empty/fs/aufs/dynop.h linux/fs/aufs/dynop.h
 --- /usr/share/empty/fs/aufs/dynop.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dynop.h      2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/dynop.h      2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,74 @@
 +/*
-+ * Copyright (C) 2010-2017 Junjiro R. Okajima
++ * Copyright (C) 2010-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -12833,10 +12825,10 @@ diff -urN /usr/share/empty/fs/aufs/dynop.h linux/fs/aufs/dynop.h
 +#endif /* __AUFS_DYNOP_H__ */
 diff -urN /usr/share/empty/fs/aufs/export.c linux/fs/aufs/export.c
 --- /usr/share/empty/fs/aufs/export.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/export.c     2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/export.c     2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,836 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -13673,10 +13665,10 @@ diff -urN /usr/share/empty/fs/aufs/export.c linux/fs/aufs/export.c
 +}
 diff -urN /usr/share/empty/fs/aufs/fhsm.c linux/fs/aufs/fhsm.c
 --- /usr/share/empty/fs/aufs/fhsm.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/fhsm.c       2018-04-06 07:48:44.204604724 +0200
-@@ -0,0 +1,425 @@
++++ linux/fs/aufs/fhsm.c       2018-06-04 09:08:09.184746078 +0200
+@@ -0,0 +1,426 @@
 +/*
-+ * Copyright (C) 2011-2017 Junjiro R. Okajima
++ * Copyright (C) 2011-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -13859,7 +13851,8 @@ diff -urN /usr/share/empty/fs/aufs/fhsm.c linux/fs/aufs/fhsm.c
 +      if (atomic_read(&fhsm->fhsm_readable))
 +              mask = EPOLLIN /* | EPOLLRDNORM */;
 +
-+      AuDbg("mask 0x%x\n", mask);
++      if (!mask)
++              AuDbg("mask 0x%x\n", mask);
 +      return mask;
 +}
 +
@@ -14102,10 +14095,10 @@ diff -urN /usr/share/empty/fs/aufs/fhsm.c linux/fs/aufs/fhsm.c
 +}
 diff -urN /usr/share/empty/fs/aufs/file.c linux/fs/aufs/file.c
 --- /usr/share/empty/fs/aufs/file.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/file.c       2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/file.c       2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,856 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -14962,10 +14955,10 @@ diff -urN /usr/share/empty/fs/aufs/file.c linux/fs/aufs/file.c
 +};
 diff -urN /usr/share/empty/fs/aufs/file.h linux/fs/aufs/file.h
 --- /usr/share/empty/fs/aufs/file.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/file.h       2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/file.h       2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,340 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -15306,10 +15299,10 @@ diff -urN /usr/share/empty/fs/aufs/file.h linux/fs/aufs/file.h
 +#endif /* __AUFS_FILE_H__ */
 diff -urN /usr/share/empty/fs/aufs/finfo.c linux/fs/aufs/finfo.c
 --- /usr/share/empty/fs/aufs/finfo.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/finfo.c      2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/finfo.c      2018-04-15 08:49:13.397817296 +0200
 @@ -0,0 +1,148 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -15458,10 +15451,10 @@ diff -urN /usr/share/empty/fs/aufs/finfo.c linux/fs/aufs/finfo.c
 +}
 diff -urN /usr/share/empty/fs/aufs/f_op.c linux/fs/aufs/f_op.c
 --- /usr/share/empty/fs/aufs/f_op.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/f_op.c       2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/f_op.c       2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,817 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -16279,10 +16272,10 @@ diff -urN /usr/share/empty/fs/aufs/f_op.c linux/fs/aufs/f_op.c
 +};
 diff -urN /usr/share/empty/fs/aufs/fstype.h linux/fs/aufs/fstype.h
 --- /usr/share/empty/fs/aufs/fstype.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/fstype.h     2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/fstype.h     2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,400 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -16683,10 +16676,10 @@ diff -urN /usr/share/empty/fs/aufs/fstype.h linux/fs/aufs/fstype.h
 +#endif /* __AUFS_FSTYPE_H__ */
 diff -urN /usr/share/empty/fs/aufs/hbl.h linux/fs/aufs/hbl.h
 --- /usr/share/empty/fs/aufs/hbl.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/hbl.h        2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/hbl.h        2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,64 @@
 +/*
-+ * Copyright (C) 2017 Junjiro R. Okajima
++ * Copyright (C) 2017-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -16751,10 +16744,10 @@ diff -urN /usr/share/empty/fs/aufs/hbl.h linux/fs/aufs/hbl.h
 +#endif /* __AUFS_HBL_H__ */
 diff -urN /usr/share/empty/fs/aufs/hfsnotify.c linux/fs/aufs/hfsnotify.c
 --- /usr/share/empty/fs/aufs/hfsnotify.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/hfsnotify.c  2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/hfsnotify.c  2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,289 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -17044,10 +17037,10 @@ diff -urN /usr/share/empty/fs/aufs/hfsnotify.c linux/fs/aufs/hfsnotify.c
 +};
 diff -urN /usr/share/empty/fs/aufs/hfsplus.c linux/fs/aufs/hfsplus.c
 --- /usr/share/empty/fs/aufs/hfsplus.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/hfsplus.c    2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/hfsplus.c    2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,56 @@
 +/*
-+ * Copyright (C) 2010-2017 Junjiro R. Okajima
++ * Copyright (C) 2010-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -17104,10 +17097,10 @@ diff -urN /usr/share/empty/fs/aufs/hfsplus.c linux/fs/aufs/hfsplus.c
 +}
 diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
 --- /usr/share/empty/fs/aufs/hnotify.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/hnotify.c    2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/hnotify.c    2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,719 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -17827,10 +17820,10 @@ diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
 +}
 diff -urN /usr/share/empty/fs/aufs/iinfo.c linux/fs/aufs/iinfo.c
 --- /usr/share/empty/fs/aufs/iinfo.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/iinfo.c      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/iinfo.c      2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,285 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -18116,10 +18109,10 @@ diff -urN /usr/share/empty/fs/aufs/iinfo.c linux/fs/aufs/iinfo.c
 +}
 diff -urN /usr/share/empty/fs/aufs/inode.c linux/fs/aufs/inode.c
 --- /usr/share/empty/fs/aufs/inode.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/inode.c      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/inode.c      2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,527 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -18647,10 +18640,10 @@ diff -urN /usr/share/empty/fs/aufs/inode.c linux/fs/aufs/inode.c
 +}
 diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
 --- /usr/share/empty/fs/aufs/inode.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/inode.h      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/inode.h      2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,695 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -19346,10 +19339,10 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
 +#endif /* __AUFS_INODE_H__ */
 diff -urN /usr/share/empty/fs/aufs/ioctl.c linux/fs/aufs/ioctl.c
 --- /usr/share/empty/fs/aufs/ioctl.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/ioctl.c      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/ioctl.c      2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,219 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -19569,10 +19562,10 @@ diff -urN /usr/share/empty/fs/aufs/ioctl.c linux/fs/aufs/ioctl.c
 +#endif
 diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 --- /usr/share/empty/fs/aufs/i_op_add.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op_add.c   2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/i_op_add.c   2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,920 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -20493,10 +20486,10 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 +}
 diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 --- /usr/share/empty/fs/aufs/i_op.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op.c       2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/i_op.c       2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,1459 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -21956,10 +21949,10 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +};
 diff -urN /usr/share/empty/fs/aufs/i_op_del.c linux/fs/aufs/i_op_del.c
 --- /usr/share/empty/fs/aufs/i_op_del.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op_del.c   2018-04-06 07:48:44.204604724 +0200
++++ linux/fs/aufs/i_op_del.c   2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,511 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -22471,10 +22464,10 @@ diff -urN /usr/share/empty/fs/aufs/i_op_del.c linux/fs/aufs/i_op_del.c
 +}
 diff -urN /usr/share/empty/fs/aufs/i_op_ren.c linux/fs/aufs/i_op_ren.c
 --- /usr/share/empty/fs/aufs/i_op_ren.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op_ren.c   2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/i_op_ren.c   2018-06-04 09:08:09.184746078 +0200
 @@ -0,0 +1,1246 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -23721,7 +23714,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_ren.c linux/fs/aufs/i_op_ren.c
 +}
 diff -urN /usr/share/empty/fs/aufs/Kconfig linux/fs/aufs/Kconfig
 --- /usr/share/empty/fs/aufs/Kconfig   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/Kconfig      2018-04-06 07:48:44.201271351 +0200
++++ linux/fs/aufs/Kconfig      2018-06-04 09:08:09.181412645 +0200
 @@ -0,0 +1,199 @@
 +# SPDX-License-Identifier: GPL-2.0
 +config AUFS_FS
@@ -23924,10 +23917,10 @@ diff -urN /usr/share/empty/fs/aufs/Kconfig linux/fs/aufs/Kconfig
 +endif
 diff -urN /usr/share/empty/fs/aufs/loop.c linux/fs/aufs/loop.c
 --- /usr/share/empty/fs/aufs/loop.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/loop.c       2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/loop.c       2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,147 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -24075,10 +24068,10 @@ diff -urN /usr/share/empty/fs/aufs/loop.c linux/fs/aufs/loop.c
 +}
 diff -urN /usr/share/empty/fs/aufs/loop.h linux/fs/aufs/loop.h
 --- /usr/share/empty/fs/aufs/loop.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/loop.h       2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/loop.h       2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,52 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -24131,7 +24124,7 @@ diff -urN /usr/share/empty/fs/aufs/loop.h linux/fs/aufs/loop.h
 +#endif /* __AUFS_LOOP_H__ */
 diff -urN /usr/share/empty/fs/aufs/magic.mk linux/fs/aufs/magic.mk
 --- /usr/share/empty/fs/aufs/magic.mk  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/magic.mk     2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/magic.mk     2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,31 @@
 +# SPDX-License-Identifier: GPL-2.0
 +
@@ -24166,7 +24159,7 @@ diff -urN /usr/share/empty/fs/aufs/magic.mk linux/fs/aufs/magic.mk
 +endif
 diff -urN /usr/share/empty/fs/aufs/Makefile linux/fs/aufs/Makefile
 --- /usr/share/empty/fs/aufs/Makefile  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/Makefile     2018-04-06 07:48:44.201271351 +0200
++++ linux/fs/aufs/Makefile     2018-06-04 09:08:09.181412645 +0200
 @@ -0,0 +1,46 @@
 +# SPDX-License-Identifier: GPL-2.0
 +
@@ -24216,10 +24209,10 @@ diff -urN /usr/share/empty/fs/aufs/Makefile linux/fs/aufs/Makefile
 +aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o
 diff -urN /usr/share/empty/fs/aufs/module.c linux/fs/aufs/module.c
 --- /usr/share/empty/fs/aufs/module.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/module.c     2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/module.c     2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,266 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -24486,10 +24479,10 @@ diff -urN /usr/share/empty/fs/aufs/module.c linux/fs/aufs/module.c
 +module_exit(aufs_exit);
 diff -urN /usr/share/empty/fs/aufs/module.h linux/fs/aufs/module.h
 --- /usr/share/empty/fs/aufs/module.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/module.h     2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/module.h     2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,101 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -24591,10 +24584,10 @@ diff -urN /usr/share/empty/fs/aufs/module.h linux/fs/aufs/module.h
 +#endif /* __AUFS_MODULE_H__ */
 diff -urN /usr/share/empty/fs/aufs/mvdown.c linux/fs/aufs/mvdown.c
 --- /usr/share/empty/fs/aufs/mvdown.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/mvdown.c     2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/mvdown.c     2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,704 @@
 +/*
-+ * Copyright (C) 2011-2017 Junjiro R. Okajima
++ * Copyright (C) 2011-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -25299,10 +25292,10 @@ diff -urN /usr/share/empty/fs/aufs/mvdown.c linux/fs/aufs/mvdown.c
 +}
 diff -urN /usr/share/empty/fs/aufs/opts.c linux/fs/aufs/opts.c
 --- /usr/share/empty/fs/aufs/opts.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/opts.c       2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/opts.c       2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,1891 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -27194,10 +27187,10 @@ diff -urN /usr/share/empty/fs/aufs/opts.c linux/fs/aufs/opts.c
 +}
 diff -urN /usr/share/empty/fs/aufs/opts.h linux/fs/aufs/opts.h
 --- /usr/share/empty/fs/aufs/opts.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/opts.h       2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/opts.h       2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,224 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -27422,10 +27415,10 @@ diff -urN /usr/share/empty/fs/aufs/opts.h linux/fs/aufs/opts.h
 +#endif /* __AUFS_OPTS_H__ */
 diff -urN /usr/share/empty/fs/aufs/plink.c linux/fs/aufs/plink.c
 --- /usr/share/empty/fs/aufs/plink.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/plink.c      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/plink.c      2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,515 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -27941,10 +27934,10 @@ diff -urN /usr/share/empty/fs/aufs/plink.c linux/fs/aufs/plink.c
 +}
 diff -urN /usr/share/empty/fs/aufs/poll.c linux/fs/aufs/poll.c
 --- /usr/share/empty/fs/aufs/poll.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/poll.c       2018-04-06 07:48:44.207938097 +0200
-@@ -0,0 +1,52 @@
++++ linux/fs/aufs/poll.c       2018-06-04 09:08:09.188079511 +0200
+@@ -0,0 +1,53 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -27992,15 +27985,16 @@ diff -urN /usr/share/empty/fs/aufs/poll.c linux/fs/aufs/poll.c
 +
 +out:
 +      si_read_unlock(sb);
-+      AuDbg("mask 0x%x\n", mask);
++      if (mask & POLLERR)
++              AuDbg("mask 0x%x\n", mask);
 +      return mask;
 +}
 diff -urN /usr/share/empty/fs/aufs/posix_acl.c linux/fs/aufs/posix_acl.c
 --- /usr/share/empty/fs/aufs/posix_acl.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/posix_acl.c  2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/posix_acl.c  2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,102 @@
 +/*
-+ * Copyright (C) 2014-2017 Junjiro R. Okajima
++ * Copyright (C) 2014-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -28103,10 +28097,10 @@ diff -urN /usr/share/empty/fs/aufs/posix_acl.c linux/fs/aufs/posix_acl.c
 +}
 diff -urN /usr/share/empty/fs/aufs/procfs.c linux/fs/aufs/procfs.c
 --- /usr/share/empty/fs/aufs/procfs.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/procfs.c     2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/procfs.c     2018-04-15 08:49:13.401150731 +0200
 @@ -0,0 +1,170 @@
 +/*
-+ * Copyright (C) 2010-2017 Junjiro R. Okajima
++ * Copyright (C) 2010-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -28277,10 +28271,10 @@ diff -urN /usr/share/empty/fs/aufs/procfs.c linux/fs/aufs/procfs.c
 +}
 diff -urN /usr/share/empty/fs/aufs/rdu.c linux/fs/aufs/rdu.c
 --- /usr/share/empty/fs/aufs/rdu.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/rdu.c        2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/rdu.c        2018-04-15 08:49:13.404484168 +0200
 @@ -0,0 +1,381 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -28662,10 +28656,10 @@ diff -urN /usr/share/empty/fs/aufs/rdu.c linux/fs/aufs/rdu.c
 +#endif
 diff -urN /usr/share/empty/fs/aufs/rwsem.h linux/fs/aufs/rwsem.h
 --- /usr/share/empty/fs/aufs/rwsem.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/rwsem.h      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/rwsem.h      2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,72 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -28738,10 +28732,10 @@ diff -urN /usr/share/empty/fs/aufs/rwsem.h linux/fs/aufs/rwsem.h
 +#endif /* __AUFS_RWSEM_H__ */
 diff -urN /usr/share/empty/fs/aufs/sbinfo.c linux/fs/aufs/sbinfo.c
 --- /usr/share/empty/fs/aufs/sbinfo.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sbinfo.c     2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/sbinfo.c     2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,304 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -29046,10 +29040,10 @@ diff -urN /usr/share/empty/fs/aufs/sbinfo.c linux/fs/aufs/sbinfo.c
 +}
 diff -urN /usr/share/empty/fs/aufs/super.c linux/fs/aufs/super.c
 --- /usr/share/empty/fs/aufs/super.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/super.c      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/super.c      2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,1051 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -30101,10 +30095,10 @@ diff -urN /usr/share/empty/fs/aufs/super.c linux/fs/aufs/super.c
 +};
 diff -urN /usr/share/empty/fs/aufs/super.h linux/fs/aufs/super.h
 --- /usr/share/empty/fs/aufs/super.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/super.h      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/super.h      2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,626 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -30731,10 +30725,10 @@ diff -urN /usr/share/empty/fs/aufs/super.h linux/fs/aufs/super.h
 +#endif /* __AUFS_SUPER_H__ */
 diff -urN /usr/share/empty/fs/aufs/sysaufs.c linux/fs/aufs/sysaufs.c
 --- /usr/share/empty/fs/aufs/sysaufs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sysaufs.c    2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/sysaufs.c    2018-04-15 08:49:13.404484168 +0200
 @@ -0,0 +1,104 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -30839,10 +30833,10 @@ diff -urN /usr/share/empty/fs/aufs/sysaufs.c linux/fs/aufs/sysaufs.c
 +}
 diff -urN /usr/share/empty/fs/aufs/sysaufs.h linux/fs/aufs/sysaufs.h
 --- /usr/share/empty/fs/aufs/sysaufs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sysaufs.h    2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/sysaufs.h    2018-04-15 08:49:13.404484168 +0200
 @@ -0,0 +1,101 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -30944,10 +30938,10 @@ diff -urN /usr/share/empty/fs/aufs/sysaufs.h linux/fs/aufs/sysaufs.h
 +#endif /* __SYSAUFS_H__ */
 diff -urN /usr/share/empty/fs/aufs/sysfs.c linux/fs/aufs/sysfs.c
 --- /usr/share/empty/fs/aufs/sysfs.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sysfs.c      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/sysfs.c      2018-04-15 08:49:13.404484168 +0200
 @@ -0,0 +1,376 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -31324,10 +31318,10 @@ diff -urN /usr/share/empty/fs/aufs/sysfs.c linux/fs/aufs/sysfs.c
 +}
 diff -urN /usr/share/empty/fs/aufs/sysrq.c linux/fs/aufs/sysrq.c
 --- /usr/share/empty/fs/aufs/sysrq.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sysrq.c      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/sysrq.c      2018-04-15 08:49:13.404484168 +0200
 @@ -0,0 +1,159 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -31487,10 +31481,10 @@ diff -urN /usr/share/empty/fs/aufs/sysrq.c linux/fs/aufs/sysrq.c
 +}
 diff -urN /usr/share/empty/fs/aufs/vdir.c linux/fs/aufs/vdir.c
 --- /usr/share/empty/fs/aufs/vdir.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/vdir.c       2018-04-06 07:48:44.207938097 +0200
-@@ -0,0 +1,892 @@
++++ linux/fs/aufs/vdir.c       2018-06-04 09:08:09.188079511 +0200
+@@ -0,0 +1,893 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -32332,7 +32326,8 @@ diff -urN /usr/share/empty/fs/aufs/vdir.c linux/fs/aufs/vdir.c
 +
 +out:
 +      /* smp_mb(); */
-+      AuDbg("valid %d\n", !valid);
++      if (!valid)
++              AuDbg("valid %d\n", !valid);
 +      return valid;
 +}
 +
@@ -32383,10 +32378,10 @@ diff -urN /usr/share/empty/fs/aufs/vdir.c linux/fs/aufs/vdir.c
 +}
 diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 --- /usr/share/empty/fs/aufs/vfsub.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/vfsub.c      2018-04-06 07:48:44.207938097 +0200
-@@ -0,0 +1,894 @@
++++ linux/fs/aufs/vfsub.c      2018-06-04 09:08:11.628152835 +0200
+@@ -0,0 +1,893 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -32525,7 +32520,6 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +
 +      if (!err) {
 +              /* todo: call VFS:may_open() here */
-+              err = open_check_o_direct(file);
 +              /* todo: ima_file_check() too? */
 +              if (!err && (args->open_flag & __FMODE_EXEC))
 +                      err = deny_write_access(file);
@@ -33281,10 +33275,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +}
 diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
 --- /usr/share/empty/fs/aufs/vfsub.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/vfsub.h      2018-04-06 07:48:44.207938097 +0200
-@@ -0,0 +1,354 @@
++++ linux/fs/aufs/vfsub.h      2018-06-04 09:08:11.628152835 +0200
+@@ -0,0 +1,353 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -33319,7 +33313,6 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
 +/* copied from linux/fs/internal.h */
 +/* todo: BAD approach!! */
 +extern void __mnt_drop_write(struct vfsmount *);
-+extern int open_check_o_direct(struct file *f);
 +
 +/* ---------------------------------------------------------------------- */
 +
@@ -33639,10 +33632,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
 +#endif /* __AUFS_VFSUB_H__ */
 diff -urN /usr/share/empty/fs/aufs/wbr_policy.c linux/fs/aufs/wbr_policy.c
 --- /usr/share/empty/fs/aufs/wbr_policy.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/wbr_policy.c 2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/wbr_policy.c 2018-04-15 08:49:13.404484168 +0200
 @@ -0,0 +1,830 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -34473,10 +34466,10 @@ diff -urN /usr/share/empty/fs/aufs/wbr_policy.c linux/fs/aufs/wbr_policy.c
 +};
 diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 --- /usr/share/empty/fs/aufs/whout.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/whout.c      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/whout.c      2018-04-15 08:49:13.404484168 +0200
 @@ -0,0 +1,1061 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -35538,10 +35531,10 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 +}
 diff -urN /usr/share/empty/fs/aufs/whout.h linux/fs/aufs/whout.h
 --- /usr/share/empty/fs/aufs/whout.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/whout.h      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/whout.h      2018-04-15 08:49:13.404484168 +0200
 @@ -0,0 +1,85 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -35627,10 +35620,10 @@ diff -urN /usr/share/empty/fs/aufs/whout.h linux/fs/aufs/whout.h
 +#endif /* __AUFS_WHOUT_H__ */
 diff -urN /usr/share/empty/fs/aufs/wkq.c linux/fs/aufs/wkq.c
 --- /usr/share/empty/fs/aufs/wkq.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/wkq.c        2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/wkq.c        2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,390 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -36021,10 +36014,10 @@ diff -urN /usr/share/empty/fs/aufs/wkq.c linux/fs/aufs/wkq.c
 +}
 diff -urN /usr/share/empty/fs/aufs/wkq.h linux/fs/aufs/wkq.h
 --- /usr/share/empty/fs/aufs/wkq.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/wkq.h        2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/wkq.h        2018-04-15 08:49:13.404484168 +0200
 @@ -0,0 +1,93 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -36118,10 +36111,10 @@ diff -urN /usr/share/empty/fs/aufs/wkq.h linux/fs/aufs/wkq.h
 +#endif /* __AUFS_WKQ_H__ */
 diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
 --- /usr/share/empty/fs/aufs/xattr.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/xattr.c      2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/xattr.c      2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,355 @@
 +/*
-+ * Copyright (C) 2014-2017 Junjiro R. Okajima
++ * Copyright (C) 2014-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -36477,10 +36470,10 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
 +}
 diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
 --- /usr/share/empty/fs/aufs/xino.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/xino.c       2018-04-06 07:48:44.207938097 +0200
++++ linux/fs/aufs/xino.c       2018-06-04 09:08:09.188079511 +0200
 @@ -0,0 +1,1469 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -37950,10 +37943,10 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
 +}
 diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/linux/aufs_type.h
 --- /usr/share/empty/include/uapi/linux/aufs_type.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux/include/uapi/linux/aufs_type.h       2018-04-06 07:48:44.207938097 +0200
++++ linux/include/uapi/linux/aufs_type.h       2018-06-04 09:08:11.628152835 +0200
 @@ -0,0 +1,447 @@
 +/*
-+ * Copyright (C) 2005-2017 Junjiro R. Okajima
++ * Copyright (C) 2005-2018 Junjiro R. Okajima
 + *
 + * This program, aufs is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -37993,7 +37986,7 @@ diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/lin
 +
 +#include <linux/limits.h>
 +
-+#define AUFS_VERSION  "4.x-rcN-20180312"
++#define AUFS_VERSION  "4.x-rcN-20180430"
 +
 +/* todo? move this to linux-2.6.19/include/magic.h */
 +#define AUFS_SUPER_MAGIC      ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
@@ -38403,7 +38396,7 @@ SPDX-License-Identifier: GPL-2.0
 aufs4.x-rcN loopback patch
 
 diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 962b2d6..d17f695 100644
+index 79902c1..40db6d1 100644
 --- a/drivers/block/loop.c
 +++ b/drivers/block/loop.c
 @@ -600,6 +600,15 @@ static inline void loop_update_dio(struct loop_device *lo)
@@ -38550,7 +38543,7 @@ index 0f45416..101f193 100644
        void            *key_data; 
  
 diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c
-index 0d4ea929..af293c2 100644
+index ad30f42..5caf353 100644
 --- a/fs/aufs/f_op.c
 +++ b/fs/aufs/f_op.c
 @@ -358,7 +358,7 @@ static ssize_t aufs_read_iter(struct kiocb *kio, struct iov_iter *iov_iter)
@@ -38563,7 +38556,7 @@ index 0d4ea929..af293c2 100644
                if (file->f_mapping != h_file->f_mapping) {
                        file->f_mapping = h_file->f_mapping;
 diff --git a/fs/aufs/loop.c b/fs/aufs/loop.c
-index 3b217c2..0f5ab22 100644
+index 3e9d59a..42811d3 100644
 --- a/fs/aufs/loop.c
 +++ b/fs/aufs/loop.c
 @@ -133,3 +133,19 @@ void au_loopback_fin(void)
@@ -38587,7 +38580,7 @@ index 3b217c2..0f5ab22 100644
 +      return f;
 +}
 diff --git a/fs/aufs/loop.h b/fs/aufs/loop.h
-index 7d7bf34..ba7c188 100644
+index dc3f3be..c33d060 100644
 --- a/fs/aufs/loop.h
 +++ b/fs/aufs/loop.h
 @@ -26,7 +26,11 @@ void au_warn_loopback(struct super_block *h_sb);
@@ -38612,7 +38605,7 @@ index 7d7bf34..ba7c188 100644
  
  #endif /* __KERNEL__ */
 diff --git a/fs/aufs/super.c b/fs/aufs/super.c
-index eef60a6..e03a658 100644
+index 80644ef..19cde48 100644
 --- a/fs/aufs/super.c
 +++ b/fs/aufs/super.c
 @@ -843,7 +843,10 @@ static const struct super_operations aufs_sop = {
@@ -38628,10 +38621,10 @@ index eef60a6..e03a658 100644
  
  /* ---------------------------------------------------------------------- */
 diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 383ab06..e899b15 100644
+index 09a2542..11a6346 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -1849,6 +1849,10 @@ struct super_operations {
+@@ -1852,6 +1852,10 @@ struct super_operations {
                                  struct shrink_control *);
        long (*free_cached_objects)(struct super_block *,
                                    struct shrink_control *);
This page took 0.270802 seconds and 4 git commands to generate.