On 5/15/20 9:40 AM, Guoqing Jiang wrote: > Got below error when run "make everything". > > restripe.c: In function ‘test_stripes’: > restripe.c:870:4: error: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Werror=unused-result] > read(source[i], stripes[i], chunk_size); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Fix it by set the return value of ‘read’ to diskP, which should be > harmless since diskP will be set again before it is used. > > Signed-off-by: Guoqing Jiang <guoqing.jiang@xxxxxxxxxxxxxxx> > --- > restripe.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/restripe.c b/restripe.c > index 31b07e8..21c90f5 100644 > --- a/restripe.c > +++ b/restripe.c > @@ -867,7 +867,11 @@ int test_stripes(int *source, unsigned long long *offsets, > > for (i = 0 ; i < raid_disks ; i++) { > lseek64(source[i], offsets[i]+start, 0); > - read(source[i], stripes[i], chunk_size); > + /* > + * To resolve "ignoring return value of ‘read’", it > + * should be harmless since diskP will be again later. > + */ > + diskP = read(source[i], stripes[i], chunk_size); It doesn't complain on Fedora 32, however checking the return value of lseek64 and read is a good thing. However what you have done is to just masking the return value and throwing it away, is not OK. Please do it properly. Thanks, Jes