All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Monakhov <dmonakhov@openvz.org>
To: Dave Chinner <david@fromorbit.com>
Cc: fstests@vger.kernel.org
Subject: Re: [PATCH 2/6] common: _scratch_mkfs_sized should inherent default block size from test_dev
Date: Fri, 22 Aug 2014 17:24:07 +0400	[thread overview]
Message-ID: <877g20r72g.fsf@openvz.org> (raw)
In-Reply-To: <20140821092344.GK26465@dastard>

[-- Attachment #1: Type: text/plain, Size: 2018 bytes --]

On Thu, 21 Aug 2014 19:23:44 +1000, Dave Chinner <david@fromorbit.com> wrote:
> On Thu, Aug 21, 2014 at 11:36:39AM +0400, Dmitry Monakhov wrote:
> > On Thu, 21 Aug 2014 09:14:50 +1000, Dave Chinner <david@fromorbit.com> wrote:
> > > On Sat, Aug 16, 2014 at 05:13:07PM +0400, Dmitry Monakhov wrote:
> > > > Currently default block size is frozen to 4096 which is bad for
> > > > various reasons for example:
> > > > 1) It ignores MKFS_OPT
> > > 
> > > It still ignores MKFS_OPTIONS. The test device is not made with
> > > those parameters unless you specifically remake it before every
> > > xfstests run with a different configuration.
> > Yes. Usually I recreate test_dev after config was updated.
> > And I tend to agree that this may not be suitable for others.
> > In order to fix original issue I'll remove block_size argument from
> > _scratch_mkfs_sized and pass MKFS_OPTIONS instead. This will be valid
> 
> _scratch_mkfs_sized already appends MKFS_OPTIONS to the mkfs
> command. So, really, it seems like you are trying to solve the wrong
> problem. i.e. if MKFS_OPTIONS already specifies a block size, then
> this code is causing it to be specified twice?
> 
> i.e. this code works for XFS because it checks MKFS_OPTIONS for a
> custom block size and lets that override the test specified default.
> It can do this because it uses $fssize for the siz eof the
> filesystem to create, not a block count. For ext4, you need to first
> determine if ther eis a block size in MKFS_OPTIONS, extract it if
> there is, then use that to calculate the size of the fs in blocks to
> pass to mkfs.ext4....
> 
> What you want the code already does for XFS - you just need to make
> the ext4 (and any other fs you care about) also work correctly with
> MKFS_OPTIONS....
> 
> > change because currently no one pass block_size to _scratch_mkfs_sized anyway.
> 
> perhaps because it already does the right thing for XFS... ;)
Ok, agree. Since mke2fs can not do right thing let's we do it
it for them. Updated version attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-common-_scratch_mkfs_sized-inherent-default-block-si.patch --]
[-- Type: text/x-patch, Size: 1100 bytes --]

>From df1cc5dd89750a419b921e12599fab644a867f4d Mon Sep 17 00:00:00 2001
From: Dmitry Monakhov <dmonakhov@openvz.org>
Date: Fri, 22 Aug 2014 17:05:14 +0400
Subject: [PATCH] common: _scratch_mkfs_sized inherent default block size from MKFS_OPTIONS


Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
---
 common/rc |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/common/rc b/common/rc
index 84fef35..3fcf0a1 100644
--- a/common/rc
+++ b/common/rc
@@ -582,8 +582,19 @@ _scratch_mkfs_sized()
 {
     fssize=$1
     blocksize=$2
-    [ -z "$blocksize" ] && blocksize=4096
 
+    case $FSTYP in
+    xfs)
+    	def_blksz=`echo $MKFS_OPTIONS|sed -rn 's/.*-b ?size= ?+([0-9]+).*/\1/p'`
+	;;
+    ext2|ext3|ext4|ext4dev|udf|btrfs)
+    	def_blksz=`echo $MKFS_OPTIONS| sed -rn 's/.*-b ?+([0-9]+).*/\1/p'`
+	;;
+    esac
+
+    [ -n "$def_blksz" ] && blocksize=$def_blksz
+    [ -z "$blocksize" ] && blocksize=4096
+ 
     re='^[0-9]+$'
     if ! [[ $fssize =~ $re ]] ; then
         _notrun "error: _scratch_mkfs_sized: fs size \"$fssize\" not an integer."
-- 
1.7.1


  parent reply	other threads:[~2014-08-22 13:24 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-16 13:13 [PATCH 1/6] common: add _mkfs_dev helper Dmitry Monakhov
2014-08-16 13:13 ` [PATCH 2/6] common: _scratch_mkfs_sized should inherent default block size from test_dev Dmitry Monakhov
2014-08-20 23:14   ` Dave Chinner
2014-08-21  7:36     ` Dmitry Monakhov
2014-08-21  9:23       ` Dave Chinner
2014-08-21 14:01         ` Theodore Ts'o
2014-08-21 20:44           ` Dave Chinner
2014-08-22 13:24         ` Dmitry Monakhov [this message]
2014-08-22 15:09           ` Theodore Ts'o
2014-08-22 15:48             ` Dmitry Monakhov
2014-08-22 16:37               ` Theodore Ts'o
2014-08-23  0:31                 ` Dave Chinner
2014-08-16 13:13 ` [PATCH 3/6] src/e4compact cleanup Dmitry Monakhov
2014-08-16 13:13 ` [PATCH 4/6] src/e4compact: handle various block_size correctly Dmitry Monakhov
2014-08-16 13:13 ` [PATCH 5/6] src/e4compact: add sparse file optimization Dmitry Monakhov
2014-08-16 13:13 ` [PATCH 6/6] ext4/308: add new defrag compact test case Dmitry Monakhov
2014-09-08 12:21   ` Dave Chinner

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=877g20r72g.fsf@openvz.org \
    --to=dmonakhov@openvz.org \
    --cc=david@fromorbit.com \
    --cc=fstests@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.