Messages in this thread | | | Subject | Re: [PATCH v3] exfat: integrates dir-entry getting and validation | From | Tetsuhiro Kohada <> | Date | Wed, 12 Aug 2020 22:25:34 +0900 |
| |
Thank you for your reply.
>> @@ -171,7 +174,9 @@ struct exfat_entry_set_cache { >> unsigned int start_off; >> int num_bh; >> struct buffer_head *bh[DIR_CACHE_SIZE]; >> - unsigned int num_entries; >> + int num_entries; >> + struct exfat_de_file *de_file; >> + struct exfat_de_stream *de_stream; > I prefer to assign validated entries to **de and use it using enum value. > struct exfat_dentry **de;
I've tried several implementations that add a struct exfat_dentry type.(*de0 & *de1; *de[2]; etc...) The problem with the struct exfat_dentry type is that it is too flexible for type. This means weak typing. Therefore, when using them, de[XXX_FILE]->dentry.file.zzz ... It is necessary to re-specify the type. (against the DRY principle) Strong typing prevents use with wrong type, at compiling.
I think the approach of using de_file/de_stream could be strongly typed. I don't think we need excessive flexibility.
BR --- Tetsuhiro Kohada <kohada.t2@gmail.com>
| |