Messages in this thread | | | Date | Fri, 30 Aug 2019 09:42:05 -0700 | From | Christoph Hellwig <> | Subject | Re: [PATCH v6 05/24] erofs: add inode operations |
| |
On Thu, Aug 29, 2019 at 07:59:22PM +0800, Gao Xiang wrote: > On Thu, Aug 29, 2019 at 03:24:26AM -0700, Christoph Hellwig wrote: > > [] > > > > > > + > > > + /* fill last page if inline data is available */ > > > + err = fill_inline_data(inode, data, ofs); > > > > Well, I think you should move the is_inode_flat_inline and > > (S_ISLNK(inode->i_mode) && inode->i_size < PAGE_SIZE) checks from that > > helper here, as otherwise you make everyone wonder why you'd always > > fill out the inline data. > > Currently, fill_inline_data() only fills for fast symlink, > later we can fill any tail-end block (such as dir block) > for our requirements.
So change it when that later changes actually come in. And even then having the checks outside the function is a lot more obvious.
> And I think that is minor.
The problem is that each of these issues might appear minor on their own. But combined a lot of the coding style choices lead to code that is more suitable an obsfucated code contest than the Linux kernel as trying to understand even just a few places requires jumping through tons of helpers with misleading names and spread over various files.
> The consideration is simply because iget_locked performs better > than iget5_locked.
In what benchmark do the differences show up?
| |