Hi, On 15-08-19 15:12, Hans de Goede wrote:
Hello Everyone, Here is the 13th version of my cleaned-up / refactored version of the VirtualBox shared-folder VFS driver. This version hopefully addresses all issues pointed out in Christoph's review of v12 (thank you for the review Christoph): Changes in v13: - Add SPDX tag to Makefile, use foo-y := to set objectfile list - Drop kerneldoc headers stating the obvious from vfs callbacks, to avoid them going stale - Replace sf_ prefix of functions and data-types with vboxsf_ - Use more normal naming scheme for sbi and private inode data: struct vboxsf_sbi *sbi = VBOXSF_SBI(inode->i_sb); struct vboxsf_inode *sf_i = VBOXSF_I(inode); - Refactor directory reading code - Use goto based unwinding instead of nested if-s in a number of places - Consolidate dir unlink and rmdir inode_operations into a single function - Use the page-cache for regular reads/writes too - Directly set super_operations.free_inode to what used to be our vboxsf_i_callback, instead of setting super_operations.destroy_inode to a function which just does: call_rcu(&inode->i_rcu, vboxsf_i_callback); - Use spinlock_irqsafe for ino_idr_lock vboxsf_free_inode may be called from a RCU callback, and thus from softirq context, so we need to use spinlock_irqsafe vboxsf_new_inode. On alloc_inode failure vboxsf_free_inode may be called from process context, so it too needs to use spinlock_irqsafe. This version has been used by several distributions (arch, Fedora) for a while now, so hopefully we can get this upstream soonish, please review.
I just noticed I forgot to add 0/1 to the subject of this cover letter, the second mail with the same subject (sorry) is the actual patch. Regards, Hans