From: Dave Chinner <david@fromorbit.com>
To: Pavel Shilovsky <pshilovsky@samba.org>
Cc: Christoph Hellwig <hch@infradead.org>,
fstests@vger.kernel.org, linux-cifs <linux-cifs@vger.kernel.org>,
David Disseldorp <ddiss@suse.de>,
Steve French <smfrench@gmail.com>
Subject: Re: [PATCH 1/2] common: add cifs support
Date: Mon, 25 Aug 2014 10:56:18 +1000 [thread overview]
Message-ID: <20140825005618.GV26465@dastard> (raw)
In-Reply-To: <CAKywueS=X4fyVYhy8_LGzwN5YO=E5Z8rS7MGG-fS8_GQ86LdOA@mail.gmail.com>
On Sun, Aug 24, 2014 at 11:54:50AM +0400, Pavel Shilovsky wrote:
> 2014-08-23 15:56 GMT+04:00 Christoph Hellwig <hch@infradead.org>:
> > On Sat, Aug 23, 2014 at 12:16:02PM +0400, Pavel Shilovsky wrote:
> >> Pass -cifs argument from command line to enable cifs testing.
> >
> > Looks mostly fine, but a few nitpicks below:
....
> >>
> >> + if [ "$FSTYP" = "cifs" ]; then
> >> + TEST_OPTIONS="$MOUNT_OPTIONS"
> >> + return
> >> + fi
> >
> > What's this for? This doesn't really make sense to me as this function adds
> > mkfs/mount options to the already normally specified ones.
>
> 1) We included common/rc -- init_rc() is called.
> 2) init_rc() checks if $TEST_DEV is mounted and if not -- calls _test_mount().
> 3) _test_mount() calls _test_options() that:
> a) initializes TEST_OPTIONS=''
> b) adds rtdev,logdev options to TEST_OPTIONS for XFS; for others
> filesystems it simply returns leaving TEST_OPTIONS as empty string.
>
> That's why we need to initialize TEST_OPTIONS as MOUN_OPTIONS for CIFS
> because we can't mount a remote share without specifying a username,
> password, etc.
That is what $TEST_FS_MOUNT_OPTS is supposed to be for. Make that
work properly when specified on the CLI or via the config file
just like MOUNT_OPTIONS does for the scratch device.
> >> cd /
> >> # we might get here with a RO FS
> >> - mount -o remount,rw $TEST_DEV >/dev/null 2>&1
> >> + REMOUNT_OPTIONS="remount,rw"
> >> + if [ "$FSTYP" = "cifs" ];
> >> + then
> >> + REMOUNT_OPTIONS="$REMOUNT_OPTIONS,$MOUNT_OPTIONS"
> >> + fi
> >> + mount -o $REMOUNT_OPTIONS $TEST_DEV >/dev/null 2>&1
> >
> > This looks wrong and will need an explanation.
>
> We can't remount the existing CIFS mount without specifying username
> and password. Also we need to keep others options as well since they
> are user-defined (e.g. nounix, noserverino, etc) while during
> remounting mount options are changed to the specified ones.
filesystem configuration details like this should not pollute the
test code. Write a helper similar to _scratch_remount():
_test_remount()
{
$UNMOUNT_PROG $TEST_DIR
_test_mount
}
and use that in the test instead.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david-FqsqvQoI3Ljby3iVrkZq2A@public.gmane.org>
To: Pavel Shilovsky <pshilovsky-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
Cc: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
fstests-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-cifs <linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
David Disseldorp <ddiss-l3A5Bk7waGM@public.gmane.org>,
Steve French <smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH 1/2] common: add cifs support
Date: Mon, 25 Aug 2014 10:56:18 +1000 [thread overview]
Message-ID: <20140825005618.GV26465@dastard> (raw)
In-Reply-To: <CAKywueS=X4fyVYhy8_LGzwN5YO=E5Z8rS7MGG-fS8_GQ86LdOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Sun, Aug 24, 2014 at 11:54:50AM +0400, Pavel Shilovsky wrote:
> 2014-08-23 15:56 GMT+04:00 Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>:
> > On Sat, Aug 23, 2014 at 12:16:02PM +0400, Pavel Shilovsky wrote:
> >> Pass -cifs argument from command line to enable cifs testing.
> >
> > Looks mostly fine, but a few nitpicks below:
....
> >>
> >> + if [ "$FSTYP" = "cifs" ]; then
> >> + TEST_OPTIONS="$MOUNT_OPTIONS"
> >> + return
> >> + fi
> >
> > What's this for? This doesn't really make sense to me as this function adds
> > mkfs/mount options to the already normally specified ones.
>
> 1) We included common/rc -- init_rc() is called.
> 2) init_rc() checks if $TEST_DEV is mounted and if not -- calls _test_mount().
> 3) _test_mount() calls _test_options() that:
> a) initializes TEST_OPTIONS=''
> b) adds rtdev,logdev options to TEST_OPTIONS for XFS; for others
> filesystems it simply returns leaving TEST_OPTIONS as empty string.
>
> That's why we need to initialize TEST_OPTIONS as MOUN_OPTIONS for CIFS
> because we can't mount a remote share without specifying a username,
> password, etc.
That is what $TEST_FS_MOUNT_OPTS is supposed to be for. Make that
work properly when specified on the CLI or via the config file
just like MOUNT_OPTIONS does for the scratch device.
> >> cd /
> >> # we might get here with a RO FS
> >> - mount -o remount,rw $TEST_DEV >/dev/null 2>&1
> >> + REMOUNT_OPTIONS="remount,rw"
> >> + if [ "$FSTYP" = "cifs" ];
> >> + then
> >> + REMOUNT_OPTIONS="$REMOUNT_OPTIONS,$MOUNT_OPTIONS"
> >> + fi
> >> + mount -o $REMOUNT_OPTIONS $TEST_DEV >/dev/null 2>&1
> >
> > This looks wrong and will need an explanation.
>
> We can't remount the existing CIFS mount without specifying username
> and password. Also we need to keep others options as well since they
> are user-defined (e.g. nounix, noserverino, etc) while during
> remounting mount options are changed to the specified ones.
filesystem configuration details like this should not pollute the
test code. Write a helper similar to _scratch_remount():
_test_remount()
{
$UNMOUNT_PROG $TEST_DIR
_test_mount
}
and use that in the test instead.
Cheers,
Dave.
--
Dave Chinner
david-FqsqvQoI3Ljby3iVrkZq2A@public.gmane.org
next prev parent reply other threads:[~2014-08-25 0:58 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-23 8:16 [PATCH 0/2] CIFS support for XFS test suite Pavel Shilovsky
2014-08-23 8:16 ` Pavel Shilovsky
2014-08-23 8:16 ` [PATCH 1/2] common: add cifs support Pavel Shilovsky
2014-08-23 8:16 ` Pavel Shilovsky
2014-08-23 11:56 ` Christoph Hellwig
2014-08-23 11:56 ` Christoph Hellwig
2014-08-24 7:54 ` Pavel Shilovsky
2014-08-24 7:54 ` Pavel Shilovsky
2014-08-25 0:56 ` Dave Chinner [this message]
2014-08-25 0:56 ` Dave Chinner
2014-08-23 8:16 ` [PATCH 2/2] common: add a directory tree for cifs tests Pavel Shilovsky
2014-08-23 8:16 ` Pavel Shilovsky
2014-08-25 0:56 ` Dave Chinner
2014-08-25 0:56 ` Dave Chinner
2014-08-23 11:49 ` [PATCH 0/2] CIFS support for XFS test suite Christoph Hellwig
2014-08-23 11:49 ` Christoph Hellwig
2014-08-24 10:41 ` Pavel Shilovsky
2014-08-24 10:41 ` Pavel Shilovsky
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=20140825005618.GV26465@dastard \
--to=david@fromorbit.com \
--cc=ddiss@suse.de \
--cc=fstests@vger.kernel.org \
--cc=hch@infradead.org \
--cc=linux-cifs@vger.kernel.org \
--cc=pshilovsky@samba.org \
--cc=smfrench@gmail.com \
/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.