* [chao-linux:dev 9/9] fs/f2fs/inline.c:205 f2fs_convert_inline_inode() error: uninitialized symbol 'ipage'.
@ 2021-03-04 13:22 ` Dan Carpenter
0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2021-03-04 13:22 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 3585 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git dev
head: 07f5b791de7cd7d985c5d0ccd3b6c9096907f75e
commit: 07f5b791de7cd7d985c5d0ccd3b6c9096907f75e [9/9] f2fs: fix to avoid uninitialized value
config: x86_64-randconfig-m001-20210303 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
fs/f2fs/inline.c:205 f2fs_convert_inline_inode() error: uninitialized symbol 'ipage'.
vim +/ipage +205 fs/f2fs/inline.c
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 184 int f2fs_convert_inline_inode(struct inode *inode)
e18c65b2ac91aa Huajun Li 2013-11-10 185 {
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 186 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 187 struct dnode_of_data dn;
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 188 struct page *ipage, *page;
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 189 int err = 0;
e18c65b2ac91aa Huajun Li 2013-11-10 190
ec2ddf499402a6 Jaegeuk Kim 2020-12-03 191 if (!f2fs_has_inline_data(inode) ||
ec2ddf499402a6 Jaegeuk Kim 2020-12-03 192 f2fs_hw_is_readonly(sbi) || f2fs_readonly(sbi->sb))
b9d777b85ff1ff Jaegeuk Kim 2015-12-22 193 return 0;
b9d777b85ff1ff Jaegeuk Kim 2015-12-22 194
25fb04dbce6a0e Yi Chen 2021-01-28 195 err = dquot_initialize(inode);
25fb04dbce6a0e Yi Chen 2021-01-28 196 if (err)
25fb04dbce6a0e Yi Chen 2021-01-28 197 return err;
25fb04dbce6a0e Yi Chen 2021-01-28 198
300e129c15f0ed Jaegeuk Kim 2016-04-29 199 page = f2fs_grab_cache_page(inode->i_mapping, 0, false);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 200 if (!page)
9e09fc855dd6f6 Jaegeuk Kim 2013-12-27 201 return -ENOMEM;
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 202
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 203 f2fs_lock_op(sbi);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 204
07f5b791de7cd7 Chao Yu 2021-03-03 @205 set_new_dnode(&dn, inode, ipage, ipage, 0);
^^^^^^^^^^^^^
Not intialized until the next line.
07f5b791de7cd7 Chao Yu 2021-03-03 206
4d57b86dd86404 Chao Yu 2018-05-30 207 ipage = f2fs_get_node_page(sbi, inode->i_ino);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 208 if (IS_ERR(ipage)) {
6d20aff83c24e9 Jaegeuk Kim 2014-11-17 209 err = PTR_ERR(ipage);
6d20aff83c24e9 Jaegeuk Kim 2014-11-17 210 goto out;
b067ba1f1b3fa7 Jaegeuk Kim 2014-08-07 211 }
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 212
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 213 if (f2fs_has_inline_data(inode))
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 214 err = f2fs_convert_inline_page(&dn, page);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 215
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 216 f2fs_put_dnode(&dn);
6d20aff83c24e9 Jaegeuk Kim 2014-11-17 217 out:
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 218 f2fs_unlock_op(sbi);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 219
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 220 f2fs_put_page(page, 1);
2a3407607028f7 Jaegeuk Kim 2015-12-22 221
2c4db1a6f6b42e Jaegeuk Kim 2016-01-07 222 f2fs_balance_fs(sbi, dn.node_changed);
2a3407607028f7 Jaegeuk Kim 2015-12-22 223
e18c65b2ac91aa Huajun Li 2013-11-10 224 return err;
e18c65b2ac91aa Huajun Li 2013-11-10 225 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36599 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* [chao-linux:dev 9/9] fs/f2fs/inline.c:205 f2fs_convert_inline_inode() error: uninitialized symbol 'ipage'.
@ 2021-03-04 13:22 ` Dan Carpenter
0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2021-03-04 13:22 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3585 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git dev
head: 07f5b791de7cd7d985c5d0ccd3b6c9096907f75e
commit: 07f5b791de7cd7d985c5d0ccd3b6c9096907f75e [9/9] f2fs: fix to avoid uninitialized value
config: x86_64-randconfig-m001-20210303 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
fs/f2fs/inline.c:205 f2fs_convert_inline_inode() error: uninitialized symbol 'ipage'.
vim +/ipage +205 fs/f2fs/inline.c
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 184 int f2fs_convert_inline_inode(struct inode *inode)
e18c65b2ac91aa Huajun Li 2013-11-10 185 {
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 186 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 187 struct dnode_of_data dn;
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 188 struct page *ipage, *page;
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 189 int err = 0;
e18c65b2ac91aa Huajun Li 2013-11-10 190
ec2ddf499402a6 Jaegeuk Kim 2020-12-03 191 if (!f2fs_has_inline_data(inode) ||
ec2ddf499402a6 Jaegeuk Kim 2020-12-03 192 f2fs_hw_is_readonly(sbi) || f2fs_readonly(sbi->sb))
b9d777b85ff1ff Jaegeuk Kim 2015-12-22 193 return 0;
b9d777b85ff1ff Jaegeuk Kim 2015-12-22 194
25fb04dbce6a0e Yi Chen 2021-01-28 195 err = dquot_initialize(inode);
25fb04dbce6a0e Yi Chen 2021-01-28 196 if (err)
25fb04dbce6a0e Yi Chen 2021-01-28 197 return err;
25fb04dbce6a0e Yi Chen 2021-01-28 198
300e129c15f0ed Jaegeuk Kim 2016-04-29 199 page = f2fs_grab_cache_page(inode->i_mapping, 0, false);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 200 if (!page)
9e09fc855dd6f6 Jaegeuk Kim 2013-12-27 201 return -ENOMEM;
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 202
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 203 f2fs_lock_op(sbi);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 204
07f5b791de7cd7 Chao Yu 2021-03-03 @205 set_new_dnode(&dn, inode, ipage, ipage, 0);
^^^^^^^^^^^^^
Not intialized until the next line.
07f5b791de7cd7 Chao Yu 2021-03-03 206
4d57b86dd86404 Chao Yu 2018-05-30 207 ipage = f2fs_get_node_page(sbi, inode->i_ino);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 208 if (IS_ERR(ipage)) {
6d20aff83c24e9 Jaegeuk Kim 2014-11-17 209 err = PTR_ERR(ipage);
6d20aff83c24e9 Jaegeuk Kim 2014-11-17 210 goto out;
b067ba1f1b3fa7 Jaegeuk Kim 2014-08-07 211 }
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 212
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 213 if (f2fs_has_inline_data(inode))
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 214 err = f2fs_convert_inline_page(&dn, page);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 215
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 216 f2fs_put_dnode(&dn);
6d20aff83c24e9 Jaegeuk Kim 2014-11-17 217 out:
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 218 f2fs_unlock_op(sbi);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 219
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 220 f2fs_put_page(page, 1);
2a3407607028f7 Jaegeuk Kim 2015-12-22 221
2c4db1a6f6b42e Jaegeuk Kim 2016-01-07 222 f2fs_balance_fs(sbi, dn.node_changed);
2a3407607028f7 Jaegeuk Kim 2015-12-22 223
e18c65b2ac91aa Huajun Li 2013-11-10 224 return err;
e18c65b2ac91aa Huajun Li 2013-11-10 225 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36599 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [chao-linux:dev 9/9] fs/f2fs/inline.c:205 f2fs_convert_inline_inode() error: uninitialized symbol 'ipage'.
2021-03-04 13:22 ` Dan Carpenter
(?)
@ 2021-03-05 1:21 ` Chao Yu
-1 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2021-03-05 1:21 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 4006 bytes --]
On 2021/3/4 21:22, Dan Carpenter wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git dev
> head: 07f5b791de7cd7d985c5d0ccd3b6c9096907f75e
> commit: 07f5b791de7cd7d985c5d0ccd3b6c9096907f75e [9/9] f2fs: fix to avoid uninitialized value
> config: x86_64-randconfig-m001-20210303 (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> smatch warnings:
> fs/f2fs/inline.c:205 f2fs_convert_inline_inode() error: uninitialized symbol 'ipage'.
Dan,
Thanks for the report, however Colin Ian King has posted the right fix,
and Jaegeuk has merged it into f2fs dev branch:
https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/commit/?h=dev&id=74eb6804516bbd203d19273358b465e8f03fdcf4
Thanks,
>
> vim +/ipage +205 fs/f2fs/inline.c
>
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 184 int f2fs_convert_inline_inode(struct inode *inode)
> e18c65b2ac91aa Huajun Li 2013-11-10 185 {
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 186 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 187 struct dnode_of_data dn;
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 188 struct page *ipage, *page;
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 189 int err = 0;
> e18c65b2ac91aa Huajun Li 2013-11-10 190
> ec2ddf499402a6 Jaegeuk Kim 2020-12-03 191 if (!f2fs_has_inline_data(inode) ||
> ec2ddf499402a6 Jaegeuk Kim 2020-12-03 192 f2fs_hw_is_readonly(sbi) || f2fs_readonly(sbi->sb))
> b9d777b85ff1ff Jaegeuk Kim 2015-12-22 193 return 0;
> b9d777b85ff1ff Jaegeuk Kim 2015-12-22 194
> 25fb04dbce6a0e Yi Chen 2021-01-28 195 err = dquot_initialize(inode);
> 25fb04dbce6a0e Yi Chen 2021-01-28 196 if (err)
> 25fb04dbce6a0e Yi Chen 2021-01-28 197 return err;
> 25fb04dbce6a0e Yi Chen 2021-01-28 198
> 300e129c15f0ed Jaegeuk Kim 2016-04-29 199 page = f2fs_grab_cache_page(inode->i_mapping, 0, false);
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 200 if (!page)
> 9e09fc855dd6f6 Jaegeuk Kim 2013-12-27 201 return -ENOMEM;
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 202
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 203 f2fs_lock_op(sbi);
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 204
> 07f5b791de7cd7 Chao Yu 2021-03-03 @205 set_new_dnode(&dn, inode, ipage, ipage, 0);
> ^^^^^^^^^^^^^
> Not intialized until the next line.
>
> 07f5b791de7cd7 Chao Yu 2021-03-03 206
> 4d57b86dd86404 Chao Yu 2018-05-30 207 ipage = f2fs_get_node_page(sbi, inode->i_ino);
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 208 if (IS_ERR(ipage)) {
> 6d20aff83c24e9 Jaegeuk Kim 2014-11-17 209 err = PTR_ERR(ipage);
> 6d20aff83c24e9 Jaegeuk Kim 2014-11-17 210 goto out;
> b067ba1f1b3fa7 Jaegeuk Kim 2014-08-07 211 }
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 212
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 213 if (f2fs_has_inline_data(inode))
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 214 err = f2fs_convert_inline_page(&dn, page);
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 215
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 216 f2fs_put_dnode(&dn);
> 6d20aff83c24e9 Jaegeuk Kim 2014-11-17 217 out:
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 218 f2fs_unlock_op(sbi);
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 219
> b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 220 f2fs_put_page(page, 1);
> 2a3407607028f7 Jaegeuk Kim 2015-12-22 221
> 2c4db1a6f6b42e Jaegeuk Kim 2016-01-07 222 f2fs_balance_fs(sbi, dn.node_changed);
> 2a3407607028f7 Jaegeuk Kim 2015-12-22 223
> e18c65b2ac91aa Huajun Li 2013-11-10 224 return err;
> e18c65b2ac91aa Huajun Li 2013-11-10 225 }
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [chao-linux:dev 9/9] fs/f2fs/inline.c:205 f2fs_convert_inline_inode() error: uninitialized symbol 'ipage'.
@ 2021-03-03 22:44 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-03-03 22:44 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 3770 bytes --]
CC: kbuild-all(a)lists.01.org
CC: Chao Yu <yuchao0@huawei.com>, Chao Yu <chao@kernel.org>
TO: Chao Yu <yuchao0@huawei.com>, Chao Yu <chao@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git dev
head: 07f5b791de7cd7d985c5d0ccd3b6c9096907f75e
commit: 07f5b791de7cd7d985c5d0ccd3b6c9096907f75e [9/9] f2fs: fix to avoid uninitialized value
:::::: branch date: 7 hours ago
:::::: commit date: 7 hours ago
config: x86_64-randconfig-m001-20210303 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
fs/f2fs/inline.c:205 f2fs_convert_inline_inode() error: uninitialized symbol 'ipage'.
vim +/ipage +205 fs/f2fs/inline.c
e18c65b2ac91aa Huajun Li 2013-11-10 183
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 184 int f2fs_convert_inline_inode(struct inode *inode)
e18c65b2ac91aa Huajun Li 2013-11-10 185 {
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 186 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 187 struct dnode_of_data dn;
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 188 struct page *ipage, *page;
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 189 int err = 0;
e18c65b2ac91aa Huajun Li 2013-11-10 190
ec2ddf499402a6 Jaegeuk Kim 2020-12-03 191 if (!f2fs_has_inline_data(inode) ||
ec2ddf499402a6 Jaegeuk Kim 2020-12-03 192 f2fs_hw_is_readonly(sbi) || f2fs_readonly(sbi->sb))
b9d777b85ff1ff Jaegeuk Kim 2015-12-22 193 return 0;
b9d777b85ff1ff Jaegeuk Kim 2015-12-22 194
25fb04dbce6a0e Yi Chen 2021-01-28 195 err = dquot_initialize(inode);
25fb04dbce6a0e Yi Chen 2021-01-28 196 if (err)
25fb04dbce6a0e Yi Chen 2021-01-28 197 return err;
25fb04dbce6a0e Yi Chen 2021-01-28 198
300e129c15f0ed Jaegeuk Kim 2016-04-29 199 page = f2fs_grab_cache_page(inode->i_mapping, 0, false);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 200 if (!page)
9e09fc855dd6f6 Jaegeuk Kim 2013-12-27 201 return -ENOMEM;
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 202
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 203 f2fs_lock_op(sbi);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 204
07f5b791de7cd7 Chao Yu 2021-03-03 @205 set_new_dnode(&dn, inode, ipage, ipage, 0);
07f5b791de7cd7 Chao Yu 2021-03-03 206
4d57b86dd86404 Chao Yu 2018-05-30 207 ipage = f2fs_get_node_page(sbi, inode->i_ino);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 208 if (IS_ERR(ipage)) {
6d20aff83c24e9 Jaegeuk Kim 2014-11-17 209 err = PTR_ERR(ipage);
6d20aff83c24e9 Jaegeuk Kim 2014-11-17 210 goto out;
b067ba1f1b3fa7 Jaegeuk Kim 2014-08-07 211 }
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 212
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 213 if (f2fs_has_inline_data(inode))
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 214 err = f2fs_convert_inline_page(&dn, page);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 215
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 216 f2fs_put_dnode(&dn);
6d20aff83c24e9 Jaegeuk Kim 2014-11-17 217 out:
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 218 f2fs_unlock_op(sbi);
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 219
b3d208f96d6bb2 Jaegeuk Kim 2014-10-23 220 f2fs_put_page(page, 1);
2a3407607028f7 Jaegeuk Kim 2015-12-22 221
2c4db1a6f6b42e Jaegeuk Kim 2016-01-07 222 f2fs_balance_fs(sbi, dn.node_changed);
2a3407607028f7 Jaegeuk Kim 2015-12-22 223
e18c65b2ac91aa Huajun Li 2013-11-10 224 return err;
e18c65b2ac91aa Huajun Li 2013-11-10 225 }
e18c65b2ac91aa Huajun Li 2013-11-10 226
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36599 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-03-05 1:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-04 13:22 [chao-linux:dev 9/9] fs/f2fs/inline.c:205 f2fs_convert_inline_inode() error: uninitialized symbol 'ipage' Dan Carpenter
2021-03-04 13:22 ` Dan Carpenter
2021-03-05 1:21 ` Chao Yu
-- strict thread matches above, loose matches on Subject: below --
2021-03-03 22:44 kernel test robot
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.