Messages in this thread | | | From | OGAWA Hirofumi <> | Subject | Re: [PATCH] fat: ignore .. subdir and always add a link to dirs | Date | Wed, 13 Mar 2024 20:06:41 +0900 |
| |
Thadeu Lima de Souza Cascardo <cascardo@igalia.com> writes:
>> So you break the mkdir/rmdir link counting, isn't it? >> > > It is off by one on those images with directories without ".." subdir. > Otherwise, everything else works fine. mkdir/rmdir inside such directories work > without any issues as rmdir that same directory.
mkdir() increase link count, rmdir decrease link count. Your change set a dir link count always 2? So if there are 3 normal subdirs, and rmdir all those normal dirs, link count underflow.
Thanks.
> If, on the other hand, we left everything as is and only skipped the > validation, such directories would be created with a link count of 0. Then, > doing a mkdir inside them would crash the kernel with a BUG as we cannot > increment the link count of an inode with 0 links. > > So the idea of the fix here is that, independently of the existence of "..", > the link count will always be at least 1.
-- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
| |