All of lore.kernel.org
 help / color / mirror / Atom feed
From: Namjae Jeon <linkinjeon@gmail.com>
To: Andrew Bartlett <abartlet@samba.org>
Cc: hirofumi@mail.parknet.co.jp, linux-kernel@vger.kernel.org,
	Ravishankar N <cyberax82@gmail.com>,
	Amit Sahrawat <amit.sahrawat83@gmail.com>,
	Nam-Jae Jeon <namjae.jeon@samsung.com>,
	Ravishankar N <ravi.n1@samsung.com>,
	Amit Sahrawat <a.sahrawat@samsung.com>
Subject: Re: Read support for fat_fallocate()? (was [v2] fat: editions to support fat_fallocate())
Date: Thu, 14 Feb 2013 18:52:20 +0900	[thread overview]
Message-ID: <CAKYAXd9tVzvP_Oa+BoUwKbpaMoVZKZgesDgrLirqoyk6AHrJ2A@mail.gmail.com> (raw)
In-Reply-To: <1360825669.1727.337.camel@jesse>

[snip]
>> >
>> > Thanks,
>> Hi Andrew.
>>
>> First, Thanks for your interest !
>> A mismatch between inode size and reserved blocks can be either due to
>> pre-allocation (after our changes) or due to corruption (sudden unplug
>> of media etc).
>> We don’t think it is right to include only read only support (i.e.
>> without fallocate support) for such files because if such files are
>> encountered it only means that the file is corrupted, as there is no
>> current method to check if the issue is due to pre-allocation.
>> If it is to be included in the kernel, then the whole patch has to go
>> in.
>
> I don't see why that is the case.
If we consider that there is no FALLOCATE support, then the condition
of file size and blocks not matching can be only possible in case of
corruption, right?

>
>> But then again, since the FAT specifications do not accommodate
>> for pre-allocation, then it is up to OGAWA to decide if this is
>> acceptable.
>> In any case, the patch will definitely break backward compatibility
>> (on an older fat driver without fallocate support) and also in case
>> for the two variants for the same kernel versions and only one has
>> FALLOCATE enabled, in such cases also, the behavior will assume
>> corruption in one case.
>
> I agree that the sudden unplug is a concern, but why not make the
> filesystem more robust against that inevitable occurrence?  If the
> blocks appear to be allocated to the file, why not use them?
We also agree that there should be pre-allocation feature on FAT, and
we had shared the scenarios where this could be required for a TV/
recorder.
But there are certain drawbacks which were raised by OGAWA with
respect to compatibility and we also tend to agree on them.
There could possibly be an issue where we are unable to distinguish
between pre-allocation and corruption. Perhaps we could set a status
bit on the file to indicate whether the file has pre-allocated blocks.
This will make it clear whether the allocation is genuine through the
FAT Fallocate request or is a result of corruption. Depending on the
status of the flag - the decision can be made regard to reading
blocks.
But, the main issue in this will be storing this bit in on-disk
directory entry for that file. From the feature and usability point of
view, we should have fallocate on FAT too.

But it needs initial ACK from OGAWA to continue to work on this so
that we can figure out the proper solution to move forward.
>
> That is, while it is hard to predict the many different ways a
> filesystem can be corrupted, what would go wrong if we did use these
> clusters?  Do you fear that they might also be allocated to someone
> else?
>
> That would, if I understand correctly just mean that that more broken,
> not quite valid USB thumb drives and other FAT filesystems work equally
> well on Windows and Linux, without administrative privileges.  (Given
> that running fsck requires root, and isn't trivially available to normal
> users in Linux, and I presume is similarly privileged in windows).
>
> What I'm doing is suggesting re-purposing your patch, from preallocation
> to robustness.  In this light, do you think this worth pushing forward?
The patch’s main aim was to reserve space. If the work that you
propose only aims to enable reads in case of corrupt files using size
mismatch as a criteria, then we think it would not be a good idea.

Thanks :-)
>
> We can later address if there is any safe way to preallocate files on
> FAT as a different question, hoping that this means it will 'just work'
> on a broader range of other Linux hosts, just as it is claimed to 'just
> work' on Windows.
>
> Thanks,
>
> Andrew Bartlett
>
> --
> Andrew Bartlett                                http://samba.org/~abartlet/
> Authentication Developer, Samba Team           http://samba.org
>
>
>

  reply	other threads:[~2013-02-14  9:52 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-13 14:31 [PATCH v2] fat: editions to support fat_fallocate() Namjae Jeon
2012-10-14 16:20 ` OGAWA Hirofumi
2012-10-16  4:12   ` Namjae Jeon
2012-10-16 10:14     ` OGAWA Hirofumi
2012-10-17 10:57       ` Namjae Jeon
2012-10-17 10:57         ` Namjae Jeon
2012-10-21 23:54         ` OGAWA Hirofumi
2012-10-22 15:10           ` Namjae Jeon
2012-10-22 15:10             ` Namjae Jeon
2012-10-23  7:19             ` OGAWA Hirofumi
2012-10-23  7:24               ` Namjae Jeon
2013-02-14  2:40 ` Read support for fat_fallocate()? (was [v2] fat: editions to support fat_fallocate()) Andrew Bartlett
2013-02-14  2:48 ` Andrew Bartlett
2013-02-14  6:44   ` Namjae Jeon
2013-02-14  7:07     ` Andrew Bartlett
2013-02-14  9:52       ` Namjae Jeon [this message]
2013-02-15  3:49         ` Andrew Bartlett
2013-02-18 11:36           ` OGAWA Hirofumi
2013-02-18 13:11             ` Andrew Bartlett
2013-02-18 14:25             ` Namjae Jeon
2013-02-18 14:59               ` OGAWA Hirofumi
2013-02-18 15:15                 ` Namjae Jeon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKYAXd9tVzvP_Oa+BoUwKbpaMoVZKZgesDgrLirqoyk6AHrJ2A@mail.gmail.com \
    --to=linkinjeon@gmail.com \
    --cc=a.sahrawat@samsung.com \
    --cc=abartlet@samba.org \
    --cc=amit.sahrawat83@gmail.com \
    --cc=cyberax82@gmail.com \
    --cc=hirofumi@mail.parknet.co.jp \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namjae.jeon@samsung.com \
    --cc=ravi.n1@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.