Linux NILFS development
 help / color / mirror / Atom feed
From: Ryusuke Konishi <ryusuke-sG5X7nlA6pw@public.gmane.org>
To: dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Checking actually used space on NILFS
Date: Thu, 10 Feb 2011 01:34:10 +0900 (JST)	[thread overview]
Message-ID: <20110210.013410.133414746.ryusuke@osrg.net> (raw)
In-Reply-To: <201102091625.55553.dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

On Wed, 9 Feb 2011 16:25:55 +0100, dexen deVries wrote:
> On Wednesday, February 09, 2011 04:13:03 pm you wrote:
> > > is there a reasonably easy way to check the size of the current (most
> > > recent) content of the NILFS filesystem?
> > 
> > The current nilfs doesn't have an effiecient way to do that.
> > So, the easy way is using 'du -s':
> > 
> >  # du -s /nilfs-mount-point
> 
> that's true, but it relies on
> 1) user being able to see all the allocated files (and even root won't see some 
> allocated files, for example if they have been unlinked but are still held open 
> by a process), and
> 2) disk having low seek times

Right.

> > We need adding API (ioctl) to get extended space information and may
> > need minor disk format change for that.
> 
> 
> The `lscp' lists, under NBLKINC, the incremental count of blocks added by this 
> particular checkpoint. As far as I understand, if one summed up all NBLKINCs 
> of all checkpoints, the actual number of allocated blocks would result. 
> However, that seems to work only when no checkpoints have been ever removed...
> 
> Would it be possible to change the semantics of NBLKINC (and possibly the on-
> disk structure) to report increment from the last existing checkpoint rather 
> than just any (existing or not) previous checkpoint? I assume that'd make the 
> NBLKINC summing up a viable way of counting used space (at least with good 
> approximation).

It seems possible, but cleaner routine have to track back the most
recent live checkpoint when deleting each checkpoint.

Fortunately, I just remembered that each checkpoint metadata has an
reserved block_count field and the current checkpoint API can get it
through ioctl though lscp command doesn't display this field.

So, we can use the block_count field to store space information that
you wanted initially.  Bad news is that enabling this field will break
forward compatibility since the current nilfs doesn't update this
field. (sigh).

Anyway, I will consider implementing the block_count field and
updating lscp so that it can display "the block count at that moment"
instead of NBLKINC.


Thanks,
Ryusuke Konishi
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

      parent reply	other threads:[~2011-02-09 16:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-09 12:33 Checking actually used space on NILFS dexen deVries
     [not found] ` <201102091333.39072.dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-09 15:13   ` Ryusuke Konishi
     [not found]     ` <20110210.001303.24922676.ryusuke-sG5X7nlA6pw@public.gmane.org>
2011-02-09 15:25       ` dexen deVries
     [not found]         ` <201102091625.55553.dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-09 16:34           ` Ryusuke Konishi [this message]

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=20110210.013410.133414746.ryusuke@osrg.net \
    --to=ryusuke-sg5x7nla6pw@public.gmane.org \
    --cc=dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.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