Re: [PATCH] fat: Editions to support fat_fallocate()

From: OGAWA Hirofumi
Date: Sun Jan 13 2008 - 14:50:04 EST


"Grant Likely" <grant.likely@xxxxxxxxxxxx> writes:

> On 12/23/07, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> wrote:
>> "Grant Likely" <grant.likely@xxxxxxxxxxxx> writes:
>> >
>> > However, digging further, when FALLOC_FL_KEEP_SIZE is set, I don't
>> > think fat_cont_expand() has the behaviour that we want to implement.
>> > When that flag is set, I think we simply want to add clusters
>> > associated with the file to the FAT. We don't want to clear them or
>> > map them into the page cache yet (that should be done when the
>> > filesize is increased for real).
>> >
>> > I believe a call to fat_allocate_clusters() is all that is needed in
>> > this case. Hirofumi, please correct me if I'm wrong.
>>
>> Right. And we need to care the limitation on FAT specification (compatibility).
>
> I not sure I fully understand what you mean. Can you please
> elaborate? Are you referring to whether on not it will break other
> FAT implementations if a file has more clusters allocated than it
> needs? If so, how do we decide whether or not it is acceptable?

[Sorry for long delay. I was on vacation.]

Probably we need to check how Widnows behave in some situations.

E.g. if we store the longer cluster-chain than i_size (in the case of
FALLOC_FL_KEEP_SIZE), the driver will be seen like corrupted files.
Because we doesn't know the file is whether file was "fallocate" or not
after reboot. At least, I think current linux implementation will
detect it as corrupted file (filesystem).

So we have to handle somehow those situations. Also I think we'll need
to more investigate problem like this.

Thanks.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/