Patchwork ubifs: add update vfs super block infomation when remount to ro mode

login
register
mail settings
Submitter ZhangJieJing
Date April 16, 2010, 3:36 a.m.
Message ID <i2ncf7b913c1004152036t3b23af53h339b16092ecdd812@mail.gmail.com>
Download mbox | patch
Permalink /patch/50304/
State New
Headers show

Comments

ZhangJieJing - April 16, 2010, 3:36 a.m.
If some read/write error happens(eg.CRC error), ubifs make self a read
only mode,
but the vfs infomation still not update.
This patch add this also make /proc/mounts update.

Signed-off-by: Zhang Jiejing <kzjeef@gmail.com>
---
 fs/ubifs/io.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--
1.6.3.3
Artem Bityutskiy - April 16, 2010, 7:10 p.m.
On Fri, 2010-04-16 at 11:36 +0800, ZhangJieJing wrote:
> If some read/write error happens(eg.CRC error), ubifs make self a read
> only mode,
> but the vfs infomation still not update.
> This patch add this also make /proc/mounts update.
> 
> Signed-off-by: Zhang Jiejing <kzjeef@gmail.com>
> ---
>  fs/ubifs/io.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c
> index 0168271..d33c233 100644
> --- a/fs/ubifs/io.c
> +++ b/fs/ubifs/io.c
> @@ -63,6 +63,7 @@ void ubifs_ro_mode(struct ubifs_info *c, int err)
>        if (!c->ro_media) {
>                c->ro_media = 1;
>                c->no_chk_data_crc = 0;
> +              c->vfs_sb->s_flags |= MS_RDONLY;
>                ubifs_warn("switched to read-only mode, error %d", err);
>                dbg_dump_stack();
>        }

Looks ok for me, thanks, I'll take it to the ubifs-2.6.git tree as soon
as I return to my work office (in 2 weeks).
Artem Bityutskiy - April 28, 2010, 7:24 a.m.
On Fri, 2010-04-16 at 11:36 +0800, ZhangJieJing wrote:
> If some read/write error happens(eg.CRC error), ubifs make self a read
> only mode,
> but the vfs infomation still not update.
> This patch add this also make /proc/mounts update.
> 
> Signed-off-by: Zhang Jiejing <kzjeef@gmail.com>
> ---
>  fs/ubifs/io.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c
> index 0168271..d33c233 100644
> --- a/fs/ubifs/io.c
> +++ b/fs/ubifs/io.c
> @@ -63,6 +63,7 @@ void ubifs_ro_mode(struct ubifs_info *c, int err)
>        if (!c->ro_media) {
>                c->ro_media = 1;
>                c->no_chk_data_crc = 0;
> +              c->vfs_sb->s_flags |= MS_RDONLY;
>                ubifs_warn("switched to read-only mode, error %d", err);
>                dbg_dump_stack();
>        }
> --
> 1.6.3.3

Your patch is not applicable. Try to save your own e-mail and apply the
patch with 'git am'.

Applying: UBIFS: mark VFS SB RO too
fatal: corrupt patch at line 9
Patch failed at 0001 UBIFS: mark VFS SB RO too
When you have resolved this problem run "git am -i --resolved".
If you would prefer to skip this patch, instead run "git am -i --skip".
To restore the original branch and stop patching run "git am -i
--abort".
[dedekind@sauron ubifs-2.6]\$ patch -p1 < .git/rebase-apply/patch 
patching file fs/ubifs/io.c
patch: **** malformed patch at line 9: �� � � if (!c->ro_media) {


But I've fixed this up and applied manually. It is now in the
ubifs-2.6.git tree, thanks.
ZhangJieJing - April 29, 2010, 2:14 a.m.
(resend since HTML mail rejected by linux-fsdevel.)
Hi Artem,

I just clone the  git://git.infradead.org/ubifs-2.6.git, and git am my
patch, It is very clean patched, so, maybe your git repo code is very
new, so the patch can't cleaned apply.

This is my first patch give back to upstream, even I read the kernel
document 'how-to send patch' but still something leaked.
If I did something wrong, Please show me the right way or something like that,
Thanks for your time.

---
Best regards,
Zhang Jiejing



2010/4/28 Artem Bityutskiy <dedekind1@gmail.com>:
> On Fri, 2010-04-16 at 11:36 +0800, ZhangJieJing wrote:
>> If some read/write error happens(eg.CRC error), ubifs make self a read
>> only mode,
>> but the vfs infomation still not update.
>> This patch add this also make /proc/mounts update.
>>
>> Signed-off-by: Zhang Jiejing <kzjeef@gmail.com>
>> ---
>>  fs/ubifs/io.c |    1 +
>>  1 files changed, 1 insertions(+), 0 deletions(-)
>> diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c
>> index 0168271..d33c233 100644
>> --- a/fs/ubifs/io.c
>> +++ b/fs/ubifs/io.c
>> @@ -63,6 +63,7 @@ void ubifs_ro_mode(struct ubifs_info *c, int err)
>>        if (!c->ro_media) {
>>                c->ro_media = 1;
>>                c->no_chk_data_crc = 0;
>> +              c->vfs_sb->s_flags |= MS_RDONLY;
>>                ubifs_warn("switched to read-only mode, error %d", err);
>>                dbg_dump_stack();
>>        }
>> --
>> 1.6.3.3
>
> Your patch is not applicable. Try to save your own e-mail and apply the
> patch with 'git am'.
>
> Applying: UBIFS: mark VFS SB RO too
> fatal: corrupt patch at line 9
> Patch failed at 0001 UBIFS: mark VFS SB RO too
> When you have resolved this problem run "git am -i --resolved".
> If you would prefer to skip this patch, instead run "git am -i --skip".
> To restore the original branch and stop patching run "git am -i
> --abort".
> [dedekind@sauron ubifs-2.6]\$ patch -p1 < .git/rebase-apply/patch
> patching file fs/ubifs/io.c
> patch: **** malformed patch at line 9: �� � � if (!c->ro_media) {
>
>
> But I've fixed this up and applied manually. It is now in the
> ubifs-2.6.git tree, thanks.
>
> --
> Best Regards,
> Artem Bityutskiy (Артём Битюцкий)
>
>
Artem Bityutskiy - April 29, 2010, 3:46 a.m.
On Thu, 2010-04-29 at 10:14 +0800, Zhang JieJing wrote:
> (resend since HTML mail rejected by linux-fsdevel.)
> Hi Artem,
> 
> I just clone the  git://git.infradead.org/ubifs-2.6.git, and git am my
> patch, It is very clean patched, so, maybe your git repo code is very
> new, so the patch can't cleaned apply.
> 
> This is my first patch give back to upstream, even I read the kernel
> document 'how-to send patch' but still something leaked.
> If I did something wrong, Please show me the right way or something like that,
> Thanks for your time.

Did you save your own mail _from the mailing_ list and apply it with git
am ?
ZhangJieJing - April 29, 2010, 6:36 a.m.
2010/4/29 Artem Bityutskiy <dedekind1@gmail.com>:
> On Thu, 2010-04-29 at 10:14 +0800, Zhang JieJing wrote:
>> (resend since HTML mail rejected by linux-fsdevel.)
>> Hi Artem,
>>
>> I just clone the  git://git.infradead.org/ubifs-2.6.git, and git am my
>> patch, It is very clean patched, so, maybe your git repo code is very
>> new, so the patch can't cleaned apply.
>>
>> This is my first patch give back to upstream, even I read the kernel
>> document 'how-to send patch' but still something leaked.
>> If I did something wrong, Please show me the right way or something like that,
>> Thanks for your time.
>
> Did you save your own mail _from the mailing_ list and apply it with git
> am ?

Really sorry for that, I tried use my mail sent to mailing list, I
found it appear the same error,
I learned this important lesson, never send patch by Rich formatting.

I will send this patch by plain text after this mail, Maybe there is
some way to send it in the same mail with patch and answer ?
>
> --
> Best Regards,
> Artem Bityutskiy (Артём Битюцкий)
>
>
Artem Bityutskiy - April 29, 2010, 6:44 a.m.
On Thu, 2010-04-29 at 14:36 +0800, Zhang JieJing wrote:
> 2010/4/29 Artem Bityutskiy <dedekind1@gmail.com>:
> > On Thu, 2010-04-29 at 10:14 +0800, Zhang JieJing wrote:
> >> (resend since HTML mail rejected by linux-fsdevel.)
> >> Hi Artem,
> >>
> >> I just clone the  git://git.infradead.org/ubifs-2.6.git, and git am my
> >> patch, It is very clean patched, so, maybe your git repo code is very
> >> new, so the patch can't cleaned apply.
> >>
> >> This is my first patch give back to upstream, even I read the kernel
> >> document 'how-to send patch' but still something leaked.
> >> If I did something wrong, Please show me the right way or something like that,
> >> Thanks for your time.
> >
> > Did you save your own mail _from the mailing_ list and apply it with git
> > am ?
> 
> Really sorry for that, I tried use my mail sent to mailing list, I
> found it appear the same error,
> I learned this important lesson, never send patch by Rich formatting.
> 
> I will send this patch by plain text after this mail, Maybe there is
> some way to send it in the same mail with patch and answer ?

I already applied your patch yesterday, you do not have to re-send.

Patch

diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c
index 0168271..d33c233 100644
--- a/fs/ubifs/io.c
+++ b/fs/ubifs/io.c
@@ -63,6 +63,7 @@  void ubifs_ro_mode(struct ubifs_info *c, int err)
       if (!c->ro_media) {
               c->ro_media = 1;
               c->no_chk_data_crc = 0;
+              c->vfs_sb->s_flags |= MS_RDONLY;
               ubifs_warn("switched to read-only mode, error %d", err);
               dbg_dump_stack();
       }