- 03 Aug, 2019 13 commits
-
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
By the commit, 387e3746d01c 2019-06-19 locks: eliminate false positive conflicts for write lease inode->i_readcount becomes common to CONFIG_IMA and CONFIG_FILE_LOCKING. In aufs branch management, eg. re-setting the branch attribute RW to RO, aufs has to maintain i_readcount too. Signed-off-by: J. R. Okajima <hooanon05g@gmail.com>
-
J. R. Okajima authored
By the commit, c71fd893f614 2019-06-17 locking/rwsem: Make owner available even if !CONFIG_RWSEM_SPIN_ON_OWNER rwsem->owner is always defined regardless CONFIG_RWSEM_SPIN_ON_OWNER. Aufs simply follows it.
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
This is detected by the commit in v5.3-rc1, d6fc9fcbaa65 2019-07-08 kbuild: compile-test exported headers to ensure they are self-contained But the issue is not for v5.3-rc1 only I am afraid. So this commit is brought to aufs4.14 which is my current development base. Signed-off-by: J. R. Okajima <hooanon05g@gmail.com> (cherry picked from commit d38615f7fef1c65e30e3cc418daa9e19c93ed98f)
-
- 12 Jul, 2019 2 commits
-
-
J. R. Okajima authored
-
J. R. Okajima authored
This reverts commit 2012b764.
-
- 11 Jul, 2019 2 commits
-
-
J. R. Okajima authored
-
J. R. Okajima authored
Signed-off-by: J. R. Okajima <hooanon05g@gmail.com>
-
- 08 Jun, 2019 6 commits
-
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
- 07 Jun, 2019 4 commits
-
-
J. R. Okajima authored
-
J. R. Okajima authored
Signed-off-by: J. R. Okajima <hooanon05g@gmail.com> (cherry picked from commit 4596850541ed7144f7fea951d02f0f6251c4a997)
-
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: J. R. Okajima <hooanon05g@gmail.com> (cherry picked from commit 949b498ae30797b19b9e7ac9b230815f31ffe378)
-
J. R. Okajima authored
Aufs DYNOP (Dynamically customizable FS operations) object is managed by kref, and when its counter reaches zero, the callback function removes the object from the internal list which is protected by a spinlock and then frees the object. Here there is a small time window between A: the counter reaches zero, and B: require the lock to remove the object from the list. If someone else acquires the lock and searches the list, it may find the counter-zero'ed object which means the object is being freed. This commit ignores the object whose counter is already zero. Reported-and-tested-by: Kirill Kolyshkin <kolyshkin@gmail.com> Signed-off-by: J. R. Okajima <hooanon05g@gmail.com> (cherry picked from commit b633d7b2635b9615fe294b85257d05008e3747a3)
-
- 28 May, 2019 5 commits
-
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
-
- 27 May, 2019 5 commits
-
-
J. R. Okajima authored
-
J. R. Okajima authored
-
J. R. Okajima authored
Signed-off-by: J. R. Okajima <hooanon05g@gmail.com> (cherry picked from commit 9dbd45984201453ecebcc03a91699878aa38239d)
-
J. R. Okajima authored
Signed-off-by: J. R. Okajima <hooanon05g@gmail.com> (cherry picked from commit 94c692425480664a02aaac3d6f7d496ea1d05c1f)
-
J. R. Okajima authored
At the mount-time, XINO files are created and removed very soon. When multiple mounts with being given the same XINO file path executed in parallel, some of them may fail in creating XINO due to EEXIST. Introducing a local mutex, make it serialized. By default, XINO is created at the top dir of the first writable branch. In this case, the new mutex won't be used. Obviously this is an unnecessary overhead when the XINO file path is not same, and such lock should be done by inode_lock() for the parent dir. Actually au_xino_create2() behaves in this manner. Then why didn't I apply the same way to this au_xino_create()? It is just because of my laziness. Calling VFS filp_open() here is easy for me. Reported-by: Kirill Kolyshkin <kolyshkin@gmail.com> Signed-off-by: J. R. Okajima <hooanon05g@gmail.com> (cherry picked from commit 30d9273f2a1ce331b1a79b770bdb4c493919a673)
-
- 23 May, 2019 2 commits
-
-
J. R. Okajima authored
Signed-off-by: J. R. Okajima <hooanon05g@gmail.com>
-
J. R. Okajima authored
Signed-off-by: J. R. Okajima <hooanon05g@gmail.com>
-
- 19 May, 2019 1 commit
-
-
J. R. Okajima authored
-