| To: | Pádraig Brady <P@xxxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: Files full of zeros with coreutils-8.11 and xfs (FIEMAP related?) |
| From: | Yongqiang Yang <xiaoqiangnk@xxxxxxxxx> |
| Date: | Thu, 5 May 2011 19:47:29 +0800 |
| Cc: | Eric Sandeen <sandeen@xxxxxxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>, linux-ext4@xxxxxxxxxxxxxxx, coreutils@xxxxxxx, Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=ZbDGYCdizAn9zmf/T6HYEVlYREv4DCXt7uKJYVEp47I=; b=PnFY3tfV6Bx9OeLR+0hQH1eHaDkVMrEd3QbZykkRAMSrtwppUvh3/cG0ty8+y95PLF X0gQGQ9/4pupqMTFray/fsxvjrYGpWihl7Dncsip72urpaZbscy3oyd53tQJ22d6Op6q hBczAG7BkFRGFU6AJSTfXEf83B0JHmmgC9MmQ= |
| Domainkey-signature: | a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=eyaIHyljjvtmtrwdKgS8FnKfydVuLGJYbAFlBwDpyBmPJ32CTit7orXuG4dPC9PjBX LPkcthy5dD3Q/u3cQ4OoP0bRJxKRiM4ZnUdnwYLThf/JQDKmE09rTri034bKCuqep9jZ WuQlvjrFDcXZxRVmH0dt6QouP6kvwhe3wn+eA= |
| In-reply-to: | <4DC28A00.7010309@xxxxxxxxxxxxxx> |
| References: | <20110414102608.GA1678@xxxxxxxxxxxxxx> <20110414120635.GB1678@xxxxxxxxxxxxxx> <20110414140222.GB1679@xxxxxxxxxxxxxx> <4DA70BD3.1070409@xxxxxxxxxxxxxx> <4DA717B2.3020305@xxxxxxxxxxx> <4DA7182B.8050409@xxxxxxxxxxxxxx> <4DA71920.9@xxxxxxxxxxx> <BANLkTikW72q_2pEoVTmag8+gMsCcZ-fR8w@xxxxxxxxxxxxxx> <BANLkTimoLeWMJgNFGW+zdeUeJyZ-_+8fMQ@xxxxxxxxxxxxxx> <4DC28A00.7010309@xxxxxxxxxxxxxx> |
2011/5/5 Pádraig Brady <P@xxxxxxxxxxxxxx>:
> On 14/04/11 17:10, Yongqiang Yang wrote:
>> Hi,
>>
>> I am off my working computer. Maybe below fix could fix the problem.
>>
>> fs/ext4/extent.c
>> static int ext4_ext_walk_space(struct inode *inode, ext4_lblk_t block,
>> 1877 } else if (block >= le32_to_cpu(ex->ee_block)) {
>> 1878 /*
>> 1879 * some part of requested space is covered
>> 1880 * by found extent
>> 1881 */
>> 1882 start = block;
>> 1883 end = le32_to_cpu(ex->ee_block)
>> 1884 + ext4_ext_get_actual_len(ex);
>> 1885 if (block + num < end)
>> 1886 end = block + num;
>> + if (!ext4_ext_is_uninitialized(ex))
>> 1887 exists = 1;
>> 1888 } else {
>> 1889 BUG();
>> 1890 }
>
> Hi,
>
> To follow up on the above. I'm under the impression
> that ext4 is expected to return extents for what
> is written, irrespective of whether it's reached the
> disk or not. I.E. the preallocation case where this fails
No. It just returns extent info now - allocated extents and delayed
extents. In the preallocation case, it returns unwritten extents.
And the code above does not work.
> was an oversite, for which the above might fix.
>
> So is the above summary correct, and has there
> been any more thoughts on a fix?
>
> cheers,
> Pádraig.
>
--
Best Wishes
Yongqiang Yang
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: Files full of zeros with coreutils-8.11 and xfs (FIEMAP related?), Pádraig Brady |
|---|---|
| Next by Date: | Re: 2.6.39-rc3, 2.6.39-rc4: XFS lockup - regression since 2.6.38, Dave Chinner |
| Previous by Thread: | Re: Files full of zeros with coreutils-8.11 and xfs (FIEMAP related?), Pádraig Brady |
| Next by Thread: | [PATCH 0/5] xfs: regression fixes for 2.6.39-rc6, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |