565c8cb9c7
littlefs uses an invasive linked-list in open mdirs to keep any open files/dirs (and some special mdirs) in sync during filesystem operations. The main benefit of this is that the filesystem doesn't need to know the number of open files at compile time. The implementation here introduces a new type, lfsr_openedmdir_t, for mdirs that want to participate in the opened-mdir linked-list. This saves a couple words of memory in the cases where the mdir does not need to participate in the opend-mdir linked-list. Since we are creating quite a few more mdir structs in lfsr_mdir_commit now, the size of this struct is valuable. The implementation of lfsr_mdir_commit knew this was coming, so aside from the new type, adding this feature was straightforward: 1. Update opened-mdirs based on in-flight attrs. 2. Update opened-mdirs rbyd state. 3. Mark any deleted opened-mdirs with the reserved mid -2. 4. Test.