From: David Chinner <dgc@sgi.com>
To: Christoph Hellwig <hch@lst.de>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 11/17] remove dependency of the quota module on behaviors.
Date: Fri, 24 Aug 2007 10:26:12 +1000 [thread overview]
Message-ID: <20070824002612.GC72985246@sgi.com> (raw)
In-Reply-To: <20070823193935.GL8050@lst.de>
On Thu, Aug 23, 2007 at 09:39:35PM +0200, Christoph Hellwig wrote:
> Mount options are now parsed by the main XFS module and rejected if quota
> support is not available, and there are some new quota operation for the
> quotactl syscall and calls to quote in the mount, unmount and sync
> callchains.
....
>
> -STATIC int
> -xfs_qm_syncall(
> - struct bhv_desc *bhv,
> - int flags,
> - cred_t *credp)
.....
> - /*
> - * Get the Quota Manager to flush the dquots.
> - */
> - if (XFS_IS_QUOTA_ON(mp)) {
> - if ((error = xfs_qm_sync(mp, flags))) {
> - /*
> - * If we got an IO error, we will be shutting down.
> - * So, there's nothing more for us to do here.
> - */
> - ASSERT(error != EIO || XFS_FORCED_SHUTDOWN(mp));
> - if (XFS_FORCED_SHUTDOWN(mp)) {
> - return XFS_ERROR(error);
> - }
> - }
So we check for quota being enabled here before syncing.
> @@ -941,6 +962,21 @@ xfs_sync(
> cred_t *credp)
> {
> xfs_mount_t *mp = XFS_BHVTOM(bdp);
> + int error;
> +
> + /*
> + * Get the Quota Manager to flush the dquots.
> + */
> + error = XFS_QM_DQSYNC(mp, flags);
> + if (error) {
> + /*
> + * If we got an IO error, we will be shutting down.
> + * So, there's nothing more for us to do here.
> + */
> + ASSERT(error != EIO || XFS_FORCED_SHUTDOWN(mp));
> + if (XFS_FORCED_SHUTDOWN(mp))
> + return XFS_ERROR(error);
> + }
but we don't for the new code. I assume that this is because
of the stub:
> +static struct xfs_qmops xfs_qmcore_stub = {
> .xfs_qminit = (xfs_qminit_t) xfs_noquota_init,
> .xfs_qmdone = (xfs_qmdone_t) fs_noerr,
> .xfs_qmmount = (xfs_qmmount_t) fs_noerr,
> @@ -124,4 +126,38 @@ xfs_qmops_t xfs_qmcore_stub = {
> .xfs_dqvoprename = (xfs_dqvoprename_t) fs_noerr,
> .xfs_dqvopchown = xfs_dqvopchown_default,
> .xfs_dqvopchownresv = (xfs_dqvopchownresv_t) fs_noerr,
> + .xfs_dqstatvfs = (xfs_dqstatvfs_t) fs_noval,
> + .xfs_dqsync = (xfs_dqsync_t) fs_noerr,
That returns no error.
This is slightly non-obvious that if quotas are not enabled or loaded
that this quota sync does not actually return an error. Perhaps a small
addition to the comment above XFS_QM_DQSYNC() to explain this would
help prevent future misunderstandings.
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
next prev parent reply other threads:[~2007-08-24 0:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-23 19:39 [PATCH 11/17] remove dependency of the quota module on behaviors Christoph Hellwig
2007-08-24 0:26 ` David Chinner [this message]
2007-08-24 1:27 ` Christoph Hellwig
2007-08-24 7:32 ` David 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=20070824002612.GC72985246@sgi.com \
--to=dgc@sgi.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox