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 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
....

Thanks

> 
> Bart.




[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