Re: [PATCH 13/24] ufs: Remove checks for PageError

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> --- a/fs/ufs/dir.c
> +++ b/fs/ufs/dir.c
> @@ -193,7 +193,7 @@ static struct page *ufs_get_page(struct inode *dir, unsigned long n)
>  	if (!IS_ERR(page)) {
>  		kmap(page);
>  		if (unlikely(!PageChecked(page))) {
> -			if (PageError(page) || !ufs_check_page(page))
> +			if (!ufs_check_page(page))
>  				goto fail;
>  		}

Unrelated note:  doing the PageChecked check inside of ufs_check_page
wuld really help readability for the casual reader.

>  	}
> diff --git a/fs/ufs/util.c b/fs/ufs/util.c
> index 4fa633f84274..08ddf41eaaad 100644
> --- a/fs/ufs/util.c
> +++ b/fs/ufs/util.c
> @@ -264,17 +264,6 @@ struct page *ufs_get_locked_page(struct address_space *mapping,
>  			put_page(page);
>  			return NULL;
>  		}
> -
> -		if (!PageUptodate(page) || PageError(page)) {
> -			unlock_page(page);
> -			put_page(page);
> -
> -			printk(KERN_ERR "ufs_change_blocknr: "
> -			       "can not read page: ino %lu, index: %lu\n",
> -			       inode->i_ino, index);
> -
> -			return ERR_PTR(-EIO);
> -		}

This looks good.  But this code could use some more love nd a removal
of the find_lock_page call by always just using read_mapping_page.
Especially a the truncate protection should apply equally to cached
pages and not just those freshly read off the disk.

But I guess for now this looks good:

Reviewed-by: Christoph Hellwig <hch@xxxxxx>



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux