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
next prev parent 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).