linux-nilfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
To: Andreas Rohner
	<e0502196-oe7qfRrRQffzPE21tAIdciO7C/xPubJB@public.gmane.org>
Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Contributing to NILFS
Date: Wed, 19 Dec 2012 11:13:56 +0400	[thread overview]
Message-ID: <1355901236.2528.48.camel@slavad-ubuntu> (raw)
In-Reply-To: <1355739816.738.35.camel@terok>

On Mon, 2012-12-17 at 11:23 +0100, Andreas Rohner wrote:
> Hi,
> 
> > I misunderstand slightly about what implementation you are talking.
> > Could you point out NILFS2 source code that implement this technique? As
> > I understand, if we have implemented data reordering before flush and
> > during the cleaning then it means that we have implemented online
> > defragmenting. But, if so, why this task is in TODO list?
> 
> I guess I just assumed it. But I would connect these issues more with
> the first item on the TODO-List "Smarter and more efficient Garbage
> Collector".
> 

As you mentioned earlier, yes, garbage collection and defragmenting are
tightly related technique, from my point of view. So, GC will be more
smarter and more efficient in the case of defragmenting activity
addition in the garbage collection. Moreover, I think that more
promising technique is a some defragmenting activity during writing in a
new segment. I mean that when we add or modify some blocks of file then
it is possible to write in a new segment additional file's fragments
from old ("dirty") segments. So, we can achieve garbage collection and
defragmenting in the background of write operation. But, as you can see,
such technique can be implemented only on the kernel side. 


> > > Instead I imagined a tool like xfs_fsr for XFS. So the user can decide
> > > when to defragment the file system, by running it manually or with a
> > > cron job.
> > 
> > If you are talking about user-space tool then it means that you are
> > talking about offline defragmenter. I think that offline defragmenter is
> > not so interesting for users. The most important objections are:
> 
> I am sorry about the misunderstanding. I thought the term "online" just
> means that the file system is mounted, while the defragmentation tool is
> running. So offline defragmentation would be if you had to unmount the
> file system for defragmentation. EXT4 [1] and XFS both do "online"
> defragmentation with a user-space tool. I assumed, that the item on the
> TODO-List means something similar. Such a tool could be useful to reduce
> aging effects. It should be very conservative and probably not run every
> day, but instead once a month.
> 
> [1] http://lwn.net/Articles/317787/
> 

Yes, it is possible to implement defragmenting in the user-space
approach. But I think that the current "trend" and end-users
expectations is to integrate such technique (fsck, defragmenting, and so
on) in the internal filesystem technique. So, kernel side implementation
is more promising way, from my point of view. Moreover, kernel side
implementation can provide more infrastructure opportunities and save
significant time for implementation efforts in the case of online
defragmenting task.

And, again, I think that online defragmenting should be useful for HDD
and SSD cases. :-)

With the best regards,
Vyacheslav Dubeyko.


--
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

      reply	other threads:[~2012-12-19  7:13 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-10 20:05 Contributing to NILFS Andreas Rohner
2012-12-11  6:46 ` Vyacheslav Dubeyko
2012-12-11 13:54   ` Andreas Rohner
2012-12-12  7:08     ` Vyacheslav Dubeyko
2012-12-12 15:30       ` Sven-Göran Bergh
     [not found]         ` <1355326242.67765.YahooMailNeo-mKBY30tKGRG2Y7dhQGSVAJOW+3bF1jUfVpNB7YpNyf8@public.gmane.org>
2012-12-12 19:57           ` Vyacheslav Dubeyko
     [not found]             ` <706EE260-E8A2-410A-9211-FB4859516478-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2012-12-13 10:59               ` Sven-Göran Bergh
2012-12-16 17:45       ` Andreas Rohner
2012-12-17  6:30         ` Vyacheslav Dubeyko
2012-12-17 10:23           ` Andreas Rohner
2012-12-19  7:13             ` Vyacheslav Dubeyko [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=1355901236.2528.48.camel@slavad-ubuntu \
    --to=slava-yeenwd64clxbdgjk7y7tuq@public.gmane.org \
    --cc=e0502196-oe7qfRrRQffzPE21tAIdciO7C/xPubJB@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;
as well as URLs for NNTP newsgroup(s).