Hi Vladimar,
Thank you kindly. This patch worked for 2.4.32 and
testing indicates journal count is not incremented
when ReiserFS is mounted read only. Very happy.
Thank you!
Happy Holidays!
kind regards,
-lt
--- "Vladimir V. Saveliev" <[EMAIL PROTECTED]> wrote:
> Hello
>
> Linux Tard wrote:
> > Hi Vladimar,
> >
> > Thank you again.
> >
> > --- "Vladimir V. Saveliev" <[EMAIL PROTECTED]> wrote:
> >>I do not think that this is a good way.
> >>
> >
> > Why is this?
>
> reiserfs used to increment mount id on each mount.
> Not updating it might confuse
> code which relays on that fact: journal replay
> and/or reiserfsck.
>
> > Is there something else other than
> > preventing journal increment this would do?
> Again, we
> > use this kernel only in certain situations.
> >
> >>I would propose the following patch.
> >>
> >> fs/reiserfs/journal.c | 1 +
> >> 1 files changed, 1 insertion(+)
> >>
> >>diff -puN
> >>
> >
>
fs/reiserfs/journal.c~reiserfs-dont-update-journla-header-mounting-readonly
> >>fs/reiserfs/journal.c
> >>---
> >>
> >
>
linux-2.6.15-rc5-mm3/fs/reiserfs/journal.c~reiserfs-dont-update-journla-header-mounting-readonly
> >>2005-12-20 13:09:28.000000000 +0300
> >>+++ linux-2.6.15-rc5-mm3-vs/fs/reiserfs/journal.c
> >>2005-12-20 13:10:51.000000000 +0300
> >>@@ -2458,6 +2458,7 @@ static int
> journal_read(struct
> >>super_blo
> >> replay_count, get_seconds() - start);
> >> }
> >> if (!bdev_read_only(p_s_sb->s_bdev) &&
> >>+ !(p_s_sb->s_flags & MS_RDONLY) &&
> >> _update_journal_header_block(p_s_sb,
> >>journal->j_start,
> >> journal->j_last_flush_trans_id)) {
> >> /* replay failed, caller must call
> >>free_journal_ram and abort
> >
> > We not able to test this patch. We're using
> 2.4.32
> > kernel. Output of patch;
> >
> > [EMAIL PROTECTED] linux-2.4.32]# patch -p1 <
> >
>
reiserfs_dont_update_journla_header_mounting_readonly.patch
> > --dry-run
> > patching file fs/reiserfs/journal.c
> > Hunk #1 FAILED at 2458.
> > 1 out of 1 hunk FAILED -- saving rejects to file
> > fs/reiserfs/journal.c.rej
> > [EMAIL PROTECTED] linux-2.4.32]#
> >
> > And the REJ file;
> >
> > [EMAIL PROTECTED] reiserfs]# more journal.c.rej
> > ***************
> > *** 2458,2463 ****
> > replay_count,
> > get_seconds() - start);
> > }
> > if (!bdev_read_only(p_s_sb->s_bdev) &&
> > _update_journal_header_block(p_s_sb,
> > journal->j_start,
> >
> > journal->j_last_flush_trans_id)) {
> > /* replay failed, caller must call
> > free_journal_ram and abort
> > --- 2458,2464 ----
> > replay_count,
> > get_seconds() - start);
> > }
> > if (!bdev_read_only(p_s_sb->s_bdev) &&
> > + !(p_s_sb->s_flags & MS_RDONLY) &&
> > _update_journal_header_block(p_s_sb,
> > journal->j_start,
> >
> > journal->j_last_flush_trans_id)) {
> > /* replay failed, caller must call
> > free_journal_ram and abort
> > [EMAIL PROTECTED] reiserfs]#
> >
> >
> >
> >
> >
> > I'm guessing you made patch for 2.6 kernel? Or
> > failure for some other reason?
>
> yes, it was for 2.6. Please try the attached, it is
> for 2.4.32.
>
> > We have to use 2.4 series kernel now. Would you
> be
> > able to write this patch for 2.4 kernel if it was
> for
> > 2.6?
> >
> > kind regards,
> > -lt
> >
> >
> >
> >
> >
> > __________________________________
> > Yahoo! for Good - Make a difference this year.
> > http://brand.yahoo.com/cybergivingweek2005/
> >
> >
>
> >
> This patch makes reiserfs to avoid journal header
> update when filesystem is being mounted readonly.
>
> diff -puN
>
fs/reiserfs/journal.c~reiserfs-dont-update-journla-header-mounting-readonly
> fs/reiserfs/journal.c
>
>
> fs/reiserfs/journal.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletion(-)
>
> diff -puN
>
fs/reiserfs/journal.c~reiserfs-dont-update-journla-header-mounting-readonly
> fs/reiserfs/journal.c
> ---
>
linux-2.4.32/fs/reiserfs/journal.c~reiserfs-dont-update-journla-header-mounting-readonly
> 2005-12-23 17:54:14.222498915 +0300
> +++ linux-2.4.32-vs/fs/reiserfs/journal.c 2005-12-23
> 17:57:46.063947196 +0300
> @@ -1804,7 +1804,8 @@ start_log_replay:
> printk("reiserfs: replayed %d transactions in
> %lu seconds\n", replay_count,
> CURRENT_TIME - start) ;
> }
> - if (!is_read_only(p_s_sb->s_dev) &&
> + if (!is_read_only(p_s_sb->s_dev) &&
> + !(p_s_sb->s_flags & MS_RDONLY) &&
> _update_journal_header_block(p_s_sb,
> SB_JOURNAL(p_s_sb)->j_start,
>
> SB_JOURNAL(p_s_sb)->j_last_flush_trans_id))
> {
>
> _
>
__________________________________________
Yahoo! DSL Something to write home about.
Just $16.99/mo. or less.
dsl.yahoo.com