@@ -81,11 +81,12 @@ static int erofs_init_inode_xattrs(struct inode *inode)
81
81
}
82
82
83
83
it .buf = __EROFS_BUF_INITIALIZER ;
84
+ erofs_init_metabuf (& it .buf , sb );
84
85
it .blkaddr = erofs_blknr (sb , erofs_iloc (inode ) + vi -> inode_isize );
85
86
it .ofs = erofs_blkoff (sb , erofs_iloc (inode ) + vi -> inode_isize );
86
87
87
88
/* read in shared xattr array (non-atomic, see kmalloc below) */
88
- it .kaddr = erofs_read_metabuf (& it .buf , sb , it .blkaddr , EROFS_KMAP );
89
+ it .kaddr = erofs_bread (& it .buf , it .blkaddr , EROFS_KMAP );
89
90
if (IS_ERR (it .kaddr )) {
90
91
ret = PTR_ERR (it .kaddr );
91
92
goto out_unlock ;
@@ -109,8 +110,7 @@ static int erofs_init_inode_xattrs(struct inode *inode)
109
110
/* cannot be unaligned */
110
111
DBG_BUGON (it .ofs != sb -> s_blocksize );
111
112
112
- it .kaddr = erofs_read_metabuf (& it .buf , sb , ++ it .blkaddr ,
113
- EROFS_KMAP );
113
+ it .kaddr = erofs_bread (& it .buf , ++ it .blkaddr , EROFS_KMAP );
114
114
if (IS_ERR (it .kaddr )) {
115
115
kfree (vi -> xattr_shared_xattrs );
116
116
vi -> xattr_shared_xattrs = NULL ;
@@ -156,8 +156,7 @@ static inline int xattr_iter_fixup(struct xattr_iter *it)
156
156
return 0 ;
157
157
158
158
it -> blkaddr += erofs_blknr (it -> sb , it -> ofs );
159
- it -> kaddr = erofs_read_metabuf (& it -> buf , it -> sb , it -> blkaddr ,
160
- EROFS_KMAP );
159
+ it -> kaddr = erofs_bread (& it -> buf , it -> blkaddr , EROFS_KMAP );
161
160
if (IS_ERR (it -> kaddr ))
162
161
return PTR_ERR (it -> kaddr );
163
162
it -> ofs = erofs_blkoff (it -> sb , it -> ofs );
@@ -181,8 +180,7 @@ static int inline_xattr_iter_begin(struct xattr_iter *it,
181
180
182
181
it -> blkaddr = erofs_blknr (it -> sb , erofs_iloc (inode ) + inline_xattr_ofs );
183
182
it -> ofs = erofs_blkoff (it -> sb , erofs_iloc (inode ) + inline_xattr_ofs );
184
- it -> kaddr = erofs_read_metabuf (& it -> buf , inode -> i_sb , it -> blkaddr ,
185
- EROFS_KMAP );
183
+ it -> kaddr = erofs_bread (& it -> buf , it -> blkaddr , EROFS_KMAP );
186
184
if (IS_ERR (it -> kaddr ))
187
185
return PTR_ERR (it -> kaddr );
188
186
return vi -> xattr_isize - xattr_header_sz ;
@@ -403,8 +401,7 @@ static int shared_getxattr(struct inode *inode, struct getxattr_iter *it)
403
401
xsid = vi -> xattr_shared_xattrs [i ];
404
402
it -> it .blkaddr = erofs_xattr_blkaddr (sb , xsid );
405
403
it -> it .ofs = erofs_xattr_blkoff (sb , xsid );
406
- it -> it .kaddr = erofs_read_metabuf (& it -> it .buf , sb ,
407
- it -> it .blkaddr , EROFS_KMAP );
404
+ it -> it .kaddr = erofs_bread (& it -> it .buf , it -> it .blkaddr , EROFS_KMAP );
408
405
if (IS_ERR (it -> it .kaddr ))
409
406
return PTR_ERR (it -> it .kaddr );
410
407
@@ -444,13 +441,14 @@ int erofs_getxattr(struct inode *inode, int index,
444
441
if (it .name .len > EROFS_NAME_LEN )
445
442
return - ERANGE ;
446
443
444
+ it .it .sb = inode -> i_sb ;
447
445
it .it .buf = __EROFS_BUF_INITIALIZER ;
446
+ erofs_init_metabuf (& it .it .buf , it .it .sb );
448
447
it .name .name = name ;
449
448
450
449
it .buffer = buffer ;
451
450
it .buffer_size = buffer_size ;
452
451
453
- it .it .sb = inode -> i_sb ;
454
452
ret = inline_getxattr (inode , & it );
455
453
if (ret == - ENOATTR )
456
454
ret = shared_getxattr (inode , & it );
@@ -608,8 +606,7 @@ static int shared_listxattr(struct listxattr_iter *it)
608
606
xsid = vi -> xattr_shared_xattrs [i ];
609
607
it -> it .blkaddr = erofs_xattr_blkaddr (sb , xsid );
610
608
it -> it .ofs = erofs_xattr_blkoff (sb , xsid );
611
- it -> it .kaddr = erofs_read_metabuf (& it -> it .buf , sb ,
612
- it -> it .blkaddr , EROFS_KMAP );
609
+ it -> it .kaddr = erofs_bread (& it -> it .buf , it -> it .blkaddr , EROFS_KMAP );
613
610
if (IS_ERR (it -> it .kaddr ))
614
611
return PTR_ERR (it -> it .kaddr );
615
612
@@ -632,14 +629,14 @@ ssize_t erofs_listxattr(struct dentry *dentry,
632
629
if (ret )
633
630
return ret ;
634
631
632
+ it .it .sb = dentry -> d_sb ;
635
633
it .it .buf = __EROFS_BUF_INITIALIZER ;
634
+ erofs_init_metabuf (& it .it .buf , it .it .sb );
636
635
it .dentry = dentry ;
637
636
it .buffer = buffer ;
638
637
it .buffer_size = buffer_size ;
639
638
it .buffer_ofs = 0 ;
640
639
641
- it .it .sb = dentry -> d_sb ;
642
-
643
640
ret = inline_listxattr (& it );
644
641
if (ret >= 0 || ret == - ENOATTR )
645
642
ret = shared_listxattr (& it );
0 commit comments