Re: [PATCH] cleanup block based fiemap

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

 




On Fri, 23 Apr 2010, Josef Bacik wrote:
> 
> I'm resending this patch again since it doesn't seem to have made it in yet.
> The generic block fiemap stuff doesn't use the right typing and has a problem
> with not setting the last extent flag properly.  Also there is an issue with
> GFS2 where it doesn't like non-block aligned requests, so this fixes all these
> issues.  Thanks,

I'd really like the patch to clean up the crazy stuff too.

As-is, there's at least two remaining issues I see from just reading the 
patch:

> +	if (len >= i_size_read(inode)) {
> +		whole_file = true;
> +		len = i_size_read(inode);
> +	}
...
>  			if (!past_eof &&
>  			    blk_to_logical(inode, start_blk) >=
> -			    blk_to_logical(inode, 0)+i_size_read(inode))
> +			    blk_to_logical(inode, 0) + i_size_read(inode))
>  				past_eof = 1;

Issue #1: it does that i_size_read() several times. What happens if the 
file grows? Maybe we hold the i_mutex already, although I don't see it. 
Regardless, it seems bogus to read the size several times.

Issue #2: "blk_to_logical(inode, 0)"? WTF? Since when has shifting zero 
ever resulted in anything interesting or relevant? There's at least two of 
those things.

		Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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