[PATCH] ubifs: add missing ui pointer in debugging code

hujianyang hujianyang at huawei.com
Wed May 14 00:32:16 PDT 2014


On 2014/5/14 4:27, Daniel Golle wrote:
> If UBIFS_DEBUG is defined an additional assertion of the ui_lock
> spinlock in do_writepage cannot compile because the ui pointer has not
> been previously declared.
> 
> Fix this by declaring and initializing the ui pointer in case
> UBIFS_DEBUG is defined.
> 
> Signed-off-by: Daniel Golle <daniel at makrotopia.org>
> ---
>  fs/ubifs/file.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
> index 4f34dba..e13ec5e 100644
> --- a/fs/ubifs/file.c
> +++ b/fs/ubifs/file.c
> @@ -903,6 +903,7 @@ static int do_writepage(struct page *page, int len)
>  	struct ubifs_info *c = inode->i_sb->s_fs_info;
>  
>  #ifdef UBIFS_DEBUG
> +	struct ubifs_inode *ui = ubifs_inode(inode);
>  	spin_lock(&ui->ui_lock);
>  	ubifs_assert(page->index <= ui->synced_i_size << PAGE_CACHE_SIZE);

I think here should be:
  	ubifs_assert(page->index <= ui->synced_i_size >> PAGE_CACHE_SHIFT);

as line 1023 in ubifs_writepage:

        /* Is the page fully inside @i_size? */
        if (page->index < end_index) {
                if (page->index >= synced_i_size >> PAGE_CACHE_SHIFT) {
                        err = inode->i_sb->s_op->write_inode(inode, NULL);

>  	spin_unlock(&ui->ui_lock);
> 





More information about the linux-mtd mailing list