1. 07 Jun, 2019 1 commit
    • J. R. Okajima's avatar
      aufs: possible bugfix, ignore the being freed sbinfo object · 01a1817a
      J. R. Okajima authored
      
      
      The scenario is very similar to previous commit
      "aufs: bugfix, ignore the being freed dynop object".
      One exception is that this commit is for sbinfo object which is managed
      by kobject (instead of kref).
      
      In order to enter the plink-maintenance mode, users write an ID to
      "/proc/fs/aufs/plink_maint" (this path is defined as macros in
      include/uapi/linux/aufs_type.h).  If someone else is unmounting the
      aufs mount corresponding that ID, then the searcher task may find a
      being freed sbinfo object.
      The problem and the fix is very similar to previous commit
      "aufs: bugfix, ignore the being freed dynop object".
      Signed-off-by: default avatarJ. R. Okajima <hooanon05g@gmail.com>
      (cherry picked from commit 949b498ae30797b19b9e7ac9b230815f31ffe378)
      01a1817a
  2. 09 Mar, 2019 2 commits
    • J. R. Okajima's avatar
      aufs: xattr and acl · a76ab411
      J. R. Okajima authored
      
      
      Support for XATTR and ACL including several branch attributes to ignore
      the copy error around XATTR and ACL.
      
      NFS always sets MS_POSIXACL regardless its mount option 'noacl.'
      When MS_POSIXACL is set, generic_permission() calls check_acl() (via
      acl_permission_check()) and gets -EOPNOTSUPP because the NFS branch is
      mounted as 'noacl.'
      In aufs, h_permission() should not call generic_permission() in this
      case.
      The similar thing happens in coping-up XATTR. vfs_getxattr_alloc()
      returns -EOPNOTSUPP.
      
      See also the document in this commit.
      Signed-off-by: default avatarJ. R. Okajima <hooanon05g@gmail.com>
      a76ab411
    • J. R. Okajima's avatar
      aufs: pseudo-link and procfs support · c7ae8357
      J. R. Okajima authored
      
      
      Aufs pseudo-link (plink) represents a virtual hardlink across the
      branches. To implement the plink maintenance mode, aufs uses procfs.
      See also the document in this commit.
      
      There is an external user-space utility called 'auplink' in
      aufs-util.git, which has these features.
      - 'list' shows the pseudo-linked inode numbers and filenames.
      - 'cpup' copies-up all pseudo-link to the writable branch.
      - 'flush' calls 'cpup', and then 'mount -o remount,clean_plink=inum'
      Signed-off-by: default avatarJ. R. Okajima <hooanon05g@gmail.com>
      c7ae8357