All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: Dmitry Monakhov <dmonakhov@openvz.org>
Cc: linux-ext4@vger.kernel.org, jack@suse.cz
Subject: Re: [PATCH 2/6] ext4: fix data integrity for ext4_sync_fs
Date: Tue, 28 May 2013 23:51:12 +0200	[thread overview]
Message-ID: <20130528215112.GF16408@quack.suse.cz> (raw)
In-Reply-To: <1369732741-26070-3-git-send-email-dmonakhov@openvz.org>

On Tue 28-05-13 13:18:57, Dmitry Monakhov wrote:
> Inode's data or non journaled quota may be written w/o jounral so we _must_
> send a barrier at the end of ext4_sync_fs. But it can be skipped if journal
> commit will do it for us.
> 
> Also fix data integrity for nojournal mode.
> changes from v1:
>  skip barrier for async mode
  One comment below:

> diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
> index c9e1ab6..ed974fd 100644
> --- a/include/linux/jbd2.h
> +++ b/include/linux/jbd2.h
> @@ -1319,6 +1319,21 @@ static inline u32 jbd2_chksum(journal_t *journal, u32 crc,
>  	return *(u32 *)desc.ctx;
>  }
>  
> +/* Return most recent uncommitted transaction */
> +static inline tid_t  jbd2_get_latest_transaction(journal_t *journal)
> +{
> +	tid_t tid;
> +
> +	read_lock(&journal->j_state_lock);
> +	tid = journal->j_commit_request;
> +	if (journal->j_running_transaction) {
> +		tid = journal->j_running_transaction->t_tid;
> +	} else if (!journal->j_commit_sequence)
  I would expect here journal->j_committing_transaction and then
journal->j_commit_request below. And you can use j_commit_sequence as an
initial 'tid' value...

> +		tid = journal->j_commit_sequence;
> +	read_unlock(&journal->j_state_lock);
> +	return tid;
> +}
> +

								Honza

-- 
Jan Kara <jack@suse.cz>
SUSE Labs, CR

  reply	other threads:[~2013-05-28 21:51 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-28  9:18 [PATCH 0/6] ext3/4 data integrity fixes Dmitry Monakhov
2013-05-28  9:18 ` [PATCH 1/6] jbd2: optimize jbd2_journal_force_commit Dmitry Monakhov
2013-05-28 21:22   ` Jan Kara
2013-06-03 11:16     ` Dmitry Monakhov
2013-06-10 13:07       ` Theodore Ts'o
2013-06-10 13:18         ` Dmitry Monakhov
2013-06-10 13:53           ` Theodore Ts'o
2013-05-28  9:18 ` [PATCH 2/6] ext4: fix data integrity for ext4_sync_fs Dmitry Monakhov
2013-05-28 21:51   ` Jan Kara [this message]
2013-06-03 11:30     ` Dmitry Monakhov
2013-05-28  9:18 ` [PATCH 3/6] jbd: optimize journal_force_commit Dmitry Monakhov
2013-05-28  9:18 ` [PATCH 4/6] ext3: fix data integrity for ext4_sync_fs Dmitry Monakhov
2013-05-28 21:40   ` Jan Kara
2013-05-28  9:19 ` [PATCH 5/6] ext4: Fix fsync error handling after filesystem abort Dmitry Monakhov
2013-05-28 21:29   ` Jan Kara
2013-05-28  9:19 ` [PATCH 6/6] ext3: " Dmitry Monakhov
2013-05-28 21:33   ` Jan Kara

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=20130528215112.GF16408@quack.suse.cz \
    --to=jack@suse.cz \
    --cc=dmonakhov@openvz.org \
    --cc=linux-ext4@vger.kernel.org \
    /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.