diff options
Diffstat (limited to 'fs/btrfs/scrub.c')
| -rw-r--r-- | fs/btrfs/scrub.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index f4190f22edf..c27bcb67f33 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -256,6 +256,11 @@ static int scrub_print_warning_inode(u64 inum, u64 offset, u64 root, void *ctx)  	btrfs_release_path(swarn->path);  	ipath = init_ipath(4096, local_root, swarn->path); +	if (IS_ERR(ipath)) { +		ret = PTR_ERR(ipath); +		ipath = NULL; +		goto err; +	}  	ret = paths_from_inode(inum, ipath);  	if (ret < 0) @@ -272,7 +277,7 @@ static int scrub_print_warning_inode(u64 inum, u64 offset, u64 root, void *ctx)  			swarn->logical, swarn->dev->name,  			(unsigned long long)swarn->sector, root, inum, offset,  			min(isize - offset, (u64)PAGE_SIZE), nlink, -			(char *)ipath->fspath->val[i]); +			(char *)(unsigned long)ipath->fspath->val[i]);  	free_ipath(ipath);  	return 0;  |