Hi all,
Christoph pointed out that the defer ops machinery doesn't need to call
->create_done if the deferred work item didn't generate a log intent
item in the first place. Let's clean that up and save an indirect call
in the non-logged xattr update call path.
If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.
This has been lightly tested with fstests. Enjoy!
Comments and questions are, as always, welcome.
--D
kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=defer-elide-create-done-6.7
---
fs/xfs/libxfs/xfs_defer.c | 4 ++++
fs/xfs/xfs_attr_item.c | 3 ---
fs/xfs/xfs_sysfs.c | 7 +++++++
3 files changed, 11 insertions(+), 3 deletions(-)