linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Liu Bo <bo.li.liu@oracle.com>
To: David Sterba <dsterba@suse.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 11/29] btrfs: remove unused parameter from btrfs_check_super_valid
Date: Mon, 13 Feb 2017 18:11:56 -0800	[thread overview]
Message-ID: <20170214021156.GC24037@localhost.localdomain> (raw)
In-Reply-To: <30b7866b2b154b6bbdf3959dfd4ecc754e78c208.1486977712.git.dsterba@suse.com>

On Mon, Feb 13, 2017 at 10:33:55AM +0100, David Sterba wrote:
> None of the checks need to know the RO/RW status.
>

OK...there was a readonly check, which lets us skip all checks,
it was removed by the below commit, should we add the check back?

commit 1104a8855109a4051d74977f819a13b4516aa11e
Author: David Sterba <dsterba@suse.cz>
Date:   Wed Mar 6 15:57:46 2013 +0100

btrfs: enhance superblock checks

The superblock checksum is not verified upon mount. <awkward silence>

Add that check and also reorder existing checks to a more logical
order.

Current mkfs.btrfs does not calculate the correct checksum of
super_block and thus a freshly created filesytem will fail to mount when
this patch is applied.

First transaction commit calculates correct superblock checksum and
saves it to disk.

Reproducer:
$ mfks.btrfs /dev/sda
$ mount /dev/sda /mnt
$ btrfs scrub start /mnt
$ sleep 5
$ btrfs scrub status /mnt
... super:2 ...

Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>

Thanks,

-liubo

> Signed-off-by: David Sterba <dsterba@suse.com>
> ---
>  fs/btrfs/disk-io.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
> index 441a62cd0351..2b06f557c176 100644
> --- a/fs/btrfs/disk-io.c
> +++ b/fs/btrfs/disk-io.c
> @@ -64,8 +64,7 @@
>  static const struct extent_io_ops btree_extent_io_ops;
>  static void end_workqueue_fn(struct btrfs_work *work);
>  static void free_fs_root(struct btrfs_root *root);
> -static int btrfs_check_super_valid(struct btrfs_fs_info *fs_info,
> -				    int read_only);
> +static int btrfs_check_super_valid(struct btrfs_fs_info *fs_info);
>  static void btrfs_destroy_ordered_extents(struct btrfs_root *root);
>  static int btrfs_destroy_delayed_refs(struct btrfs_transaction *trans,
>  				      struct btrfs_fs_info *fs_info);
> @@ -2801,7 +2800,7 @@ int open_ctree(struct super_block *sb,
>  
>  	memcpy(fs_info->fsid, fs_info->super_copy->fsid, BTRFS_FSID_SIZE);
>  
> -	ret = btrfs_check_super_valid(fs_info, sb->s_flags & MS_RDONLY);
> +	ret = btrfs_check_super_valid(fs_info);
>  	if (ret) {
>  		btrfs_err(fs_info, "superblock contains fatal errors");
>  		err = -EINVAL;
> @@ -4115,8 +4114,7 @@ int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid)
>  	return btree_read_extent_buffer_pages(fs_info, buf, parent_transid);
>  }
>  
> -static int btrfs_check_super_valid(struct btrfs_fs_info *fs_info,
> -			      int read_only)
> +static int btrfs_check_super_valid(struct btrfs_fs_info *fs_info)
>  {
>  	struct btrfs_super_block *sb = fs_info->super_copy;
>  	u64 nodesize = btrfs_super_nodesize(sb);
> -- 
> 2.10.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2017-02-14  2:13 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-13  9:33 [PATCH 00/29] Cleanup of unused parameters David Sterba
2017-02-13  9:33 ` [PATCH 01/29] btrfs: remove unused parameter from read_block_for_search David Sterba
2017-02-14  0:59   ` Liu Bo
2017-02-14  1:03     ` Qu Wenruo
2017-02-14  1:09       ` Liu Bo
2017-02-13  9:33 ` [PATCH 02/29] btrfs: remove unused parameter from check_async_write David Sterba
2017-02-15 20:41   ` Liu Bo
2017-02-13  9:33 ` [PATCH 03/29] btrfs: remove unused parameter from clean_tree_block David Sterba
2017-02-15 21:12   ` Liu Bo
2017-02-13  9:33 ` [PATCH 04/29] btrfs: remove unused parameter from split_item David Sterba
2017-02-15 20:43   ` Liu Bo
2017-02-13  9:33 ` [PATCH 05/29] btrfs: remove unused parameter from write_dev_supers David Sterba
2017-02-14  1:59   ` Liu Bo
2017-02-13  9:33 ` [PATCH 06/29] btrfs: merge two superblock writing helpers David Sterba
2017-02-15 21:05   ` Liu Bo
2017-02-13  9:33 ` [PATCH 07/29] btrfs: remove unused parameter from __push_leaf_right David Sterba
2017-02-15 21:14   ` Liu Bo
2017-02-13  9:33 ` [PATCH 08/29] btrfs: remove unused parameter from __push_leaf_left David Sterba
2017-02-15 21:18   ` Liu Bo
2017-02-13  9:33 ` [PATCH 09/29] btrfs: remove unused parameter from btrfs_subvolume_release_metadata David Sterba
2017-02-15 21:17   ` Liu Bo
2017-02-13  9:33 ` [PATCH 10/29] btrfs: remove unused parameter from btrfs_prepare_extent_commit David Sterba
2017-02-15 21:20   ` Liu Bo
2017-02-13  9:33 ` [PATCH 11/29] btrfs: remove unused parameter from btrfs_check_super_valid David Sterba
2017-02-14  2:11   ` Liu Bo [this message]
2017-02-14 11:42     ` David Sterba
2017-02-14 18:44       ` Liu Bo
2017-02-13  9:33 ` [PATCH 12/29] btrfs: remove unused parameter from tree_move_down David Sterba
2017-02-15 21:21   ` Liu Bo
2017-02-13  9:34 ` [PATCH 13/29] btrfs: remove unused parameter from tree_move_next_or_upnext David Sterba
2017-02-15 21:22   ` Liu Bo
2017-02-13  9:34 ` [PATCH 14/29] btrfs: remove unused parameter from submit_extent_page David Sterba
2017-02-14 19:10   ` Liu Bo
2017-02-15 15:17     ` David Sterba
2017-02-13  9:34 ` [PATCH 15/29] btrfs: remove unused parameter from update_nr_written David Sterba
2017-02-15 21:22   ` Liu Bo
2017-02-13  9:34 ` [PATCH 16/29] btrfs: remove unused parameter from add_pending_csums David Sterba
2017-02-15 21:23   ` Liu Bo
2017-02-13  9:34 ` [PATCH 17/29] btrfs: remove unused parameter from extent_write_cache_pages David Sterba
2017-02-14 19:35   ` Liu Bo
2017-02-15 15:30     ` David Sterba
2017-02-15 20:38       ` Liu Bo
2017-02-13  9:34 ` [PATCH 18/29] btrfs: remove unused parameter from btrfs_fill_super David Sterba
2017-02-15 21:27   ` Liu Bo
2017-02-13  9:34 ` [PATCH 19/29] btrfs: remove unused parameter from __btrfs_alloc_chunk David Sterba
2017-02-15 21:28   ` Liu Bo
2017-02-13  9:34 ` [PATCH 20/29] btrfs: remove unused parameter from init_first_rw_device David Sterba
2017-02-15 21:30   ` Liu Bo
2017-02-13  9:34 ` [PATCH 21/29] btrfs: remove unused parameter from create_snapshot David Sterba
2017-02-14 19:36   ` Liu Bo
2017-02-13  9:34 ` [PATCH 22/29] btrfs: remove unused parameters from scrub_setup_wr_ctx David Sterba
2017-02-15 21:29   ` Liu Bo
2017-02-13  9:34 ` [PATCH 23/29] btrfs: remove unused parameter from __add_inline_refs David Sterba
2017-02-15 21:32   ` Liu Bo
2017-02-13  9:34 ` [PATCH 24/29] btrfs: remove unused parameters from btrfs_cmp_data David Sterba
2017-02-14 19:40   ` Liu Bo
2017-02-13  9:34 ` [PATCH 25/29] btrfs: remove unused parameter from clone_copy_inline_extent David Sterba
2017-02-16  0:10   ` Liu Bo
2017-02-13  9:34 ` [PATCH 26/29] btrfs: remove unused parameter from __add_inode_ref David Sterba
2017-02-16  0:08   ` Liu Bo
2017-02-13  9:34 ` [PATCH 27/29] btrfs: remove unused parameter from cleanup_write_cache_enospc David Sterba
2017-02-15 21:33   ` Liu Bo
2017-02-13  9:34 ` [PATCH 28/29] btrfs: remove unused parameters from __btrfs_write_out_cache David Sterba
2017-02-14 20:19   ` Liu Bo
2017-02-13  9:34 ` [PATCH 29/29] btrfs: remove unused parameter from adjust_slots_upwards David Sterba
2017-02-16  0:12   ` Liu Bo

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=20170214021156.GC24037@localhost.localdomain \
    --to=bo.li.liu@oracle.com \
    --cc=dsterba@suse.com \
    --cc=linux-btrfs@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).