Re: [5.14-rc1 regression] 7fe1e79b59ba configfs: implement the .read_iter and .write_iter methods - affects targetcli restore

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2021-07-14 at 09:26 +0300, Leon Romanovsky wrote:
> On Mon, Jul 12, 2021 at 05:35:16PM -0700, Bart Van Assche wrote:
> > On 7/12/21 12:10 PM, Yanko Kaneti wrote:
> > > Bisected a problem that I have with targetcli restore to:
> > > 
> > > 7fe1e79b59ba configfs: implement the .read_iter and .write_iter methods
> > > 
> > > With it reads of /sys/kernel/config/target/dbroot  go on infinitely,
> > > returning  the config value over and over again.
> > > 
> > > e.g.
> > > 
> > > $ modprobe target_core_user
> > > $ head -n 2 /sys/kernel/config/target/dbroot
> > > /etc/target
> > > /etc/target
> > > 
> > > Don't know if that's a problem with the commit or the target code, but
> > > could perhaps be affecting other places.
> > 
> > The dbroot show method looks fine to me:
> > 
> > static ssize_t target_core_item_dbroot_show(struct config_item *item,
> > 					    char *page)
> > {
> > 	return sprintf(page, "%s\n", db_root);
> > }
> > 
> > Anyway, I can reproduce this behavior. I will take a look at this.
> 
> The problem exists for all configs users, we (RDMA) experience the same
> issue with default_roce_mode and default_roce_tos files.
> 
> The configfs_read_iter() doesn't indicate to the upper layer that it
> should stop reread. In my case, the iov_iter_count(to) is equal to 131072,
> which is huge comparable to real buffer->count.
> 
> ....
> [  192.077873] configfs: configfs_read_iter: count = 131072, pos = 15880, buf = RoCE v2
> [  192.078146] configfs: configfs_read_iter: count = 131072, pos = 15888, buf = RoCE v2
> [  192.078510] configfs: configfs_read_iter: count = 131072, pos = 15896, buf = RoCE v2
> ....

The fix Bart posted yesterday works for me here

https://git.infradead.org/users/hch/configfs.git/commit/420405ecde061fde76d67bd3a67577a563ea758e

Thanks




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux