From: Maxim Levitsky <maximlevitsky@gmail.com>
To: Pierre Ossman <pierre@ossman.eu>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>,
Ben Hutchings <ben@decadent.org.uk>,
Andrew Morton <akpm@linux-foundation.org>,
linux-mmc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
504391@bugs.debian.org,
Wouter van Heyst <larstiq@larstiq.dyndns.org>
Subject: Re: [PATCH] mmc: add module parameter to set whether cards are assumed removable
Date: Mon, 30 Nov 2009 15:32:46 +0200 [thread overview]
Message-ID: <1259587966.13049.6.camel@maxim-laptop> (raw)
In-Reply-To: <20091130133949.794fef00@mjolnir.ossman.eu>
On Mon, 2009-11-30 at 13:39 +0100, Pierre Ossman wrote:
> On Tue, 17 Nov 2009 08:53:00 +0100
> Stefan Richter <stefanr@s5r6.in-berlin.de> wrote:
>
> > Ben Hutchings wrote:
> > > In general, it is not possible to tell whether a card present in an MMC
> > > slot after resume is the same that was there before suspend.
> >
> > That's true for virtually all storage devices, not just MMC.
> >
> > > So there are two possible behaviours, each of which will cause data
> > > loss in some cases:
> > >
> > > CONFIG_MMC_UNSAFE_RESUME=n (default): Cards are assumed to be removed
> > > during suspend. Any filesystem on them must be unmounted before
> > > suspend; otherwise, buffered writes will be lost.
> > >
> > > CONFIG_MMC_UNSAFE_RESUME=y: Cards are assumed to remain present during
> > > suspend. They must not be swapped during suspend; otherwise, buffered
> > > writes will be flushed to the wrong card.
> > >
> > > Currently the choice is made at compile time and this allows that to be
> > > overridden at module load time.
> >
> > Can't the kernel flush the write buffer at suspend time, so that you can
> > remove this choice for good?
>
> I'm afraid that's insufficient. What it would need to do is to is
> flush everything (to make sure what's on disk matches what's in
> memory), but also read back the filesystem on resume to verify that
> nothing else modified it (i.e. making sure what's on disk still matches
> what's in memory).
I had just an idea.
Before we do suspend, pick few random sectors from the media, run that
through some hash function, thus creating some sort of watermark.
On resume do that again.
This should catch all unintentional card swappings.
Of course this is only half of the problem, because user could edit the
card meanwhile, but still solving half the problem is better that
nothing?
What do you think ?
Best regards,
Maxim Levitsky
next prev parent reply other threads:[~2009-11-30 13:32 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-11 4:44 [PATCH] mmc: add module parameter to set whether cards are assumed removable Ben Hutchings
2009-11-16 20:23 ` Andrew Morton
2009-11-16 22:31 ` Ben Hutchings
2009-11-17 7:53 ` Stefan Richter
2009-11-30 12:39 ` Pierre Ossman
2009-11-30 12:54 ` Alan Cox
2009-11-30 13:09 ` Pierre Ossman
2009-11-30 13:32 ` Maxim Levitsky [this message]
2009-11-30 13:51 ` Alan Cox
2009-11-30 15:27 ` Maxim Levitsky
2009-11-22 11:42 ` Bug#504391: " Wouter van Heyst
2009-11-22 12:32 ` Ben Hutchings
2009-12-01 19:57 ` Wouter van Heyst
2009-11-30 12:38 ` Adrian Hunter
2009-11-30 12:48 ` Alan Cox
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=1259587966.13049.6.camel@maxim-laptop \
--to=maximlevitsky@gmail.com \
--cc=504391@bugs.debian.org \
--cc=akpm@linux-foundation.org \
--cc=ben@decadent.org.uk \
--cc=larstiq@larstiq.dyndns.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=pierre@ossman.eu \
--cc=stefanr@s5r6.in-berlin.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox