On Mon, Dec 04, 2023 at 08:46:26PM +0100, Christoph Hellwig wrote: > On Mon, Dec 04, 2023 at 10:51:31AM -0800, Darrick J. Wong wrote: > > > always ->dfp_intent and I don't think that can be NULL. No other > > > implementation of ->create_done checks for it either. > > > > If xfs_attr_create_intent returns NULL, then xfs_attr_create_done won't > > create a done item either. xfs_defer_finish_one will walk through the > > state machine as always, but the operation won't be restarted by > > recovery since the higher level operation state was not recorded in the > > log. > > So - why do we even call into ->create_done when ->dfp_intent is > NULL? Good point, it's not necessary. I'll throw on another patch to elide the ->create_done call if !dfp->dfp_intent and remove the null argument check from xfs_attr_update_create_done. --D