Messages in this thread | ![/](/images/icornerl.gif) | | From | "Fabio M. De Francesco" <> | Subject | Re: [PATCH v2 2/4] fs/sysv: Change the signature of dir_get_page() | Date | Thu, 12 Jan 2023 21:15:24 +0100 |
| |
On mercoledì 11 gennaio 2023 03:34:47 CET Al Viro wrote: > On Mon, Jan 09, 2023 at 06:06:37PM +0100, Fabio M. De Francesco wrote: > > -struct sysv_dir_entry * sysv_dotdot (struct inode *dir, struct page **p) > > +struct sysv_dir_entry *sysv_dotdot(struct inode *dir, struct page **p) > > > > { > > > > - struct page *page = dir_get_page(dir, 0); > > - struct sysv_dir_entry *de = NULL; > > + struct page *page = NULL; > > + struct sysv_dir_entry *de = dir_get_page(dir, 0, &page); > > > > - if (!IS_ERR(page)) { > > - de = (struct sysv_dir_entry*) page_address(page) + 1; > > + if (!IS_ERR(de)) { > > > > *p = page; > > > > + return (struct sysv_dir_entry *)page_address(page) + 1; > > > > } > > > > - return de; > > + return NULL; > > > > } > > Would be better off with > > struct sysv_dir_entry *de = dir_get_page(dir, 0, p); > > if (!IS_ERR(de)) > return de + 1; // ".." is the second directory entry > return NULL; > > IMO...
I totally agree with you...
1) This comment is a good way to explain why we return "de + 1". 2) "*p = page" is redundant, so it's not necessary because we assign the out argument in dir_get_page() if and only if read_mapping_page() doesn't fail.
I will send v3 asap.
Thanks for your suggestions.
Fabio
| ![\](/images/icornerr.gif) |