From: Dave Chinner <david@fromorbit.com>
To: Christoph Hellwig <hch@lst.de>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 2/4] kill struct xfs_mount_args
Date: Thu, 24 Jul 2008 17:05:42 +1000 [thread overview]
Message-ID: <20080724070541.GT6761@disturbed> (raw)
In-Reply-To: <20080525190741.GB13372@lst.de>
On Sun, May 25, 2008 at 09:07:41PM +0200, Christoph Hellwig wrote:
> No need to parse the mount option into a structure before applying it
> to struct xfs_mount.
>
> The content of xfs_start_flags gets merged into xfs_parseargs. Calls
> inbetween don't care and can use mount members instead of the args
> struct.
>
> This patch uncovered that the mount option for shared filesystems wasn't
> ever exposed on Linux. The code to handle it is #if 0'ed in this patch
> pending a decision on this feature. I'll send a writeup about it to
> the list soon.
Overall is good - cleans up a lot of mess, but a couple of things
need fixing:
> @@ -228,7 +231,9 @@ xfs_parseargs(
> this_char);
> return EINVAL;
> }
> - strncpy(args->mtpt, value, MAXNAMELEN);
> + *mtpt = kstrndup(value, MAXNAMELEN, GFP_KERNEL);
> + if (!*mtpt)
> + return ENOMEM;
It's a double ptr that dup'd the mtpt= value to successfully.
we check we have a string, but it still count be a null string.
> - if ((args->flags & XFSMNT_DMAPI) && *args->mtpt == '\0') {
> + if ((mp->m_flags & XFS_MOUNT_DMAPI) && !mtpt) {
Which means that check is not doing the same thing. Did you mean
to check it was not a null string like the original code
(i.e !**mtpt)?
Also, a comment needs to be made in the function header that mtpt
needs to be freed by the caller.
> @@ -131,9 +130,11 @@ static struct xfs_qmops xfs_qmcore_stub
> };
>
> int
> -xfs_qmops_get(struct xfs_mount *mp, struct xfs_mount_args *args)
> +xfs_qmops_get(struct xfs_mount *mp)
> {
> - if (args->flags & (XFSMNT_UQUOTA | XFSMNT_PQUOTA | XFSMNT_GQUOTA)) {
> + if (mp->m_qflags & (XFS_UQUOTA_ACCT | XFS_UQUOTA_ACTIVE |
> + XFS_GQUOTA_ACCT | XFS_GQUOTA_ACTIVE |
> + XFS_PQUOTA_ACCT | XFS_PQUOTA_ACTIVE)) {
> struct xfs_qmops *ops;
>
> ops = symbol_get(xfs_qmcore_xfs);
I think *QUOTA_ACTIVE implies *QUOTA_ACCT. i.e. the quota can't
be active if we are not accounting it. Hence I think this can
be simplified to :
if (XFS_IS_QUOTA_RUNNING(mp)) {
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2008-07-24 7:05 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-25 19:07 [PATCH 2/4] kill struct xfs_mount_args Christoph Hellwig
2008-07-23 8:05 ` Christoph Hellwig
2008-08-28 23:17 ` Christoph Hellwig
2008-10-18 12:35 ` Christoph Hellwig
2008-10-21 6:18 ` Donald Douwsma
2008-07-24 7:05 ` Dave Chinner [this message]
2008-07-24 19:53 ` Christoph Hellwig
2008-07-24 23:12 ` 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=20080724070541.GT6761@disturbed \
--to=david@fromorbit.com \
--cc=hch@lst.de \
--cc=xfs@oss.sgi.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.