On Mon, Sep 09, 2019 at 02:56:15PM +0530, Ritesh Harjani wrote: > On 9/9/19 4:49 AM, Matthew Bobrowski wrote: > > +/* > > + * For a write that extends the inode size, ext4_dio_write_iter() will > > + * wait for the write to complete. Consequently, operations performed > > + * within this function are still covered by the inode_lock(). > > + */ > Maybe add a comment that on success this returns 0. OK, can do. > > +static int ext4_dio_write_end_io(struct kiocb *iocb, ssize_t size, int error, > > + unsigned int flags) > > +{ > > + int ret = 0; > No need to initialize ret. > > > > + loff_t offset = iocb->ki_pos; > > + struct inode *inode = file_inode(iocb->ki_filp); > > + > > + if (error) { > > + ret = ext4_handle_failed_inode_extension(inode, offset + size); > > + return ret ? ret : error; > > + } > > + > > + if (flags & IOMAP_DIO_UNWRITTEN) { > > + ret = ext4_convert_unwritten_extents(NULL, inode, > > + offset, size); > > + if (ret) > > + return ret; > > + } > > + > > + if (offset + size > i_size_read(inode)) { > > + ret = ext4_handle_inode_extension(inode, offset, size, 0); > > + if (ret) > > + return ret; > > + } > > + return ret; > Directly return 0, since if it falls here it mans it is a success case. > You are anyway returning error from above error paths. OK, sure. --<M>--