On Wed, Nov 17, 2021 at 3:29 PM Anton Altaparmakov <an...@tu...> wrote:
>
> What we need here is an array to store pointers to in-memory inodes that correspond to inodes in the inode table page being written out.
Do we actually need the array?
The ntfs_inode pointers in that array are always locked (using
'mrec_lock'), so ti could be just a linked list of entries.
Yeah, that would require adding a 'next' pointer to 'struct
_ntfs_inode', but maybe that would be the right thing to do?
I don't know the code, but it looks to me like it's literally just a
stack of locked ntfs_inode pointers - where the lock is taken before
adding it to the stack, and released after taking it off the stack. So
a singly-linked list would seem to be a very simple implementation.
Linus
|