All of lore.kernel.org
 help / color / mirror / Atom feed
From: dan.carpenter@oracle.com (Dan Carpenter)
Subject: [PATCH v2 2/2] staging: erofs: fix i_blocks calculation
Date: Tue, 28 May 2019 09:57:09 +0300	[thread overview]
Message-ID: <20190528065709.GY31203@kadam> (raw)
In-Reply-To: <fe0ff7bb-b576-f949-d57a-2892d116b22f@huawei.com>

On Tue, May 28, 2019@11:02:12AM +0800, Chao Yu wrote:
> On 2019/5/28 10:36, Gao Xiang wrote:
> > For compressed files, i_blocks should not be calculated
> > by using i_size. i_u.compressed_blocks is used instead.
> > 
> > In addition, i_blocks was miscalculated for non-compressed
> > files previously, fix it as well.
> > 
> > Signed-off-by: Gao Xiang <gaoxiang25 at huawei.com>
> > ---
> > change log v2:
> >  - fix description in commit message
> >  - fix to 'inode->i_blocks = nblks << LOG_SECTORS_PER_BLOCK'
> > 
> > Thanks,
> > Gao Xiang
> > 
> >  drivers/staging/erofs/inode.c | 14 ++++++++++++--
> >  1 file changed, 12 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/staging/erofs/inode.c b/drivers/staging/erofs/inode.c
> > index 8da144943ed6..6e67e018784e 100644
> > --- a/drivers/staging/erofs/inode.c
> > +++ b/drivers/staging/erofs/inode.c
> > @@ -20,6 +20,7 @@ static int read_inode(struct inode *inode, void *data)
> >  	struct erofs_vnode *vi = EROFS_V(inode);
> >  	struct erofs_inode_v1 *v1 = data;
> >  	const unsigned int advise = le16_to_cpu(v1->i_advise);
> > +	erofs_blk_t nblks = 0;
> >  
> >  	vi->data_mapping_mode = __inode_data_mapping(advise);
> >  
> > @@ -60,6 +61,10 @@ static int read_inode(struct inode *inode, void *data)
> >  			le32_to_cpu(v2->i_ctime_nsec);
> >  
> >  		inode->i_size = le64_to_cpu(v2->i_size);
> > +
> > +		/* total blocks for compressed files */
> > +		if (vi->data_mapping_mode == EROFS_INODE_LAYOUT_COMPRESSION)
> > +			nblks = v2->i_u.compressed_blocks;
> 
> Xiang,
> 
> It needs to use le32_to_cpu(). ;)
> 

I wonder it the kbuild bot is going to send an email about that...
Hopefully these sorts of bugs get detected with Sparse CF=-D__CHECK_ENDIAN__

regards,
dan carpenter

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Chao Yu <yuchao0@huawei.com>
Cc: Gao Xiang <gaoxiang25@huawei.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	devel@driverdev.osuosl.org, linux-erofs@lists.ozlabs.org,
	Chao Yu <chao@kernel.org>, LKML <linux-kernel@vger.kernel.org>,
	weidu.du@huawei.com, Fang Wei <fangwei1@huawei.com>,
	Miao Xie <miaoxie@huawei.com>
Subject: Re: [PATCH v2 2/2] staging: erofs: fix i_blocks calculation
Date: Tue, 28 May 2019 09:57:09 +0300	[thread overview]
Message-ID: <20190528065709.GY31203@kadam> (raw)
In-Reply-To: <fe0ff7bb-b576-f949-d57a-2892d116b22f@huawei.com>

On Tue, May 28, 2019 at 11:02:12AM +0800, Chao Yu wrote:
> On 2019/5/28 10:36, Gao Xiang wrote:
> > For compressed files, i_blocks should not be calculated
> > by using i_size. i_u.compressed_blocks is used instead.
> > 
> > In addition, i_blocks was miscalculated for non-compressed
> > files previously, fix it as well.
> > 
> > Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
> > ---
> > change log v2:
> >  - fix description in commit message
> >  - fix to 'inode->i_blocks = nblks << LOG_SECTORS_PER_BLOCK'
> > 
> > Thanks,
> > Gao Xiang
> > 
> >  drivers/staging/erofs/inode.c | 14 ++++++++++++--
> >  1 file changed, 12 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/staging/erofs/inode.c b/drivers/staging/erofs/inode.c
> > index 8da144943ed6..6e67e018784e 100644
> > --- a/drivers/staging/erofs/inode.c
> > +++ b/drivers/staging/erofs/inode.c
> > @@ -20,6 +20,7 @@ static int read_inode(struct inode *inode, void *data)
> >  	struct erofs_vnode *vi = EROFS_V(inode);
> >  	struct erofs_inode_v1 *v1 = data;
> >  	const unsigned int advise = le16_to_cpu(v1->i_advise);
> > +	erofs_blk_t nblks = 0;
> >  
> >  	vi->data_mapping_mode = __inode_data_mapping(advise);
> >  
> > @@ -60,6 +61,10 @@ static int read_inode(struct inode *inode, void *data)
> >  			le32_to_cpu(v2->i_ctime_nsec);
> >  
> >  		inode->i_size = le64_to_cpu(v2->i_size);
> > +
> > +		/* total blocks for compressed files */
> > +		if (vi->data_mapping_mode == EROFS_INODE_LAYOUT_COMPRESSION)
> > +			nblks = v2->i_u.compressed_blocks;
> 
> Xiang,
> 
> It needs to use le32_to_cpu(). ;)
> 

I wonder it the kbuild bot is going to send an email about that...
Hopefully these sorts of bugs get detected with Sparse CF=-D__CHECK_ENDIAN__

regards,
dan carpenter


  parent reply	other threads:[~2019-05-28  6:57 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-28  2:31 [PATCH 1/2] staging: erofs: support statx Gao Xiang
2019-05-28  2:31 ` Gao Xiang
2019-05-28  2:31 ` [PATCH 2/2] staging: erofs: fix i_blocks calculation Gao Xiang
2019-05-28  2:31   ` Gao Xiang
2019-05-28  2:36   ` [PATCH v2 " Gao Xiang
2019-05-28  2:36     ` Gao Xiang
2019-05-28  3:02     ` Chao Yu
2019-05-28  3:02       ` Chao Yu
2019-05-28  3:23       ` Gao Xiang
2019-05-28  3:23         ` Gao Xiang
2019-05-28  6:57       ` Dan Carpenter [this message]
2019-05-28  6:57         ` Dan Carpenter
2019-05-28  7:16         ` Gao Xiang
2019-05-28  7:16           ` Gao Xiang
2019-05-28  9:45         ` Chao Yu
2019-05-28  9:45           ` Chao Yu
2019-05-28  3:19   ` [PATCH v3 1/2] staging: erofs: support statx Gao Xiang
2019-05-28  3:19     ` Gao Xiang
2019-05-28  3:19     ` [PATCH v3 2/2] staging: erofs: fix i_blocks calculation Gao Xiang
2019-05-28  3:19       ` Gao Xiang
2019-05-28  3:28       ` Chao Yu
2019-05-28  3:28         ` Chao Yu
2019-05-28  3:28     ` [PATCH v3 1/2] staging: erofs: support statx Chao Yu
2019-05-28  3:28       ` Chao Yu
2019-05-28  2:44 ` [PATCH " Chao Yu
2019-05-28  2:44   ` Chao Yu
2019-05-28  2:49   ` Gao Xiang
2019-05-28  2:49     ` Gao Xiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190528065709.GY31203@kadam \
    --to=dan.carpenter@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.