* [5.14-rc1 regression] 7fe1e79b59ba configfs: implement the .read_iter and .write_iter methods - affects targetcli restore @ 2021-07-12 19:10 Yanko Kaneti 2021-07-13 0:35 ` Bart Van Assche 0 siblings, 1 reply; 5+ messages in thread From: Yanko Kaneti @ 2021-07-12 19:10 UTC (permalink / raw) To: Bart Van Assche; +Cc: linux-fsdevel, Christoph Hellwig Hello, 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. - Yanko ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [5.14-rc1 regression] 7fe1e79b59ba configfs: implement the .read_iter and .write_iter methods - affects targetcli restore 2021-07-12 19:10 [5.14-rc1 regression] 7fe1e79b59ba configfs: implement the .read_iter and .write_iter methods - affects targetcli restore Yanko Kaneti @ 2021-07-13 0:35 ` Bart Van Assche 2021-07-14 6:26 ` Leon Romanovsky 0 siblings, 1 reply; 5+ messages in thread From: Bart Van Assche @ 2021-07-13 0:35 UTC (permalink / raw) To: Yanko Kaneti; +Cc: linux-fsdevel, Christoph Hellwig 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. Bart. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [5.14-rc1 regression] 7fe1e79b59ba configfs: implement the .read_iter and .write_iter methods - affects targetcli restore 2021-07-13 0:35 ` Bart Van Assche @ 2021-07-14 6:26 ` Leon Romanovsky 2021-07-14 8:11 ` Yanko Kaneti 0 siblings, 1 reply; 5+ messages in thread From: Leon Romanovsky @ 2021-07-14 6:26 UTC (permalink / raw) To: Bart Van Assche Cc: Yanko Kaneti, linux-fsdevel, Christoph Hellwig, RDMA mailing list 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. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [5.14-rc1 regression] 7fe1e79b59ba configfs: implement the .read_iter and .write_iter methods - affects targetcli restore 2021-07-14 6:26 ` Leon Romanovsky @ 2021-07-14 8:11 ` Yanko Kaneti 2021-07-14 8:30 ` Leon Romanovsky 0 siblings, 1 reply; 5+ messages in thread From: Yanko Kaneti @ 2021-07-14 8:11 UTC (permalink / raw) To: Leon Romanovsky, Bart Van Assche Cc: linux-fsdevel, Christoph Hellwig, RDMA mailing list 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [5.14-rc1 regression] 7fe1e79b59ba configfs: implement the .read_iter and .write_iter methods - affects targetcli restore 2021-07-14 8:11 ` Yanko Kaneti @ 2021-07-14 8:30 ` Leon Romanovsky 0 siblings, 0 replies; 5+ messages in thread From: Leon Romanovsky @ 2021-07-14 8:30 UTC (permalink / raw) To: Yanko Kaneti Cc: Bart Van Assche, linux-fsdevel, Christoph Hellwig, RDMA mailing list On Wed, Jul 14, 2021 at 11:11:52AM +0300, Yanko Kaneti wrote: > 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 a lot, I came mostly to the same fix. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-07-14 8:30 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-07-12 19:10 [5.14-rc1 regression] 7fe1e79b59ba configfs: implement the .read_iter and .write_iter methods - affects targetcli restore Yanko Kaneti 2021-07-13 0:35 ` Bart Van Assche 2021-07-14 6:26 ` Leon Romanovsky 2021-07-14 8:11 ` Yanko Kaneti 2021-07-14 8:30 ` Leon Romanovsky
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.