public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Libor Vanek <libor@conet.cz>
To: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
Cc: Christoph Hellwig <hch@infradead.org>,
	Muli Ben-Yehuda <mulix@mulix.org>,
	linux-kernel@vger.kernel.org
Subject: Re: Syscall table AKA hijacking syscalls
Date: Fri, 02 Jan 2004 17:59:22 +0100	[thread overview]
Message-ID: <3FF5A36A.5070501@conet.cz> (raw)
In-Reply-To: <20040102163552.GD31489@wohnheim.fh-wedel.de>


>>>I'm working on my diploma thesis which is adding snapshot capability 
>>>into Linux VFS (so you can do directory based snapshots - not complete 
>>>device, like in LVM). It'll consist of two separete modules:
>>>Snapshot module:
>>>- will hijack (one or another way) calls to open/move/unlink/mkdir/etc. 
>>>syscall
>>>- when will detect change to selected directory (which I want to 
>>>snapshot), it'll copy/move old file/directory to some temporary 
>>>(selected when creating snapshot) - in fact - copy on write behaviour
>>
>>This should be implemented as a stackable filesystem..
> Does this filesystem stack work with multiple mount points?

I think that stackable filesystem is useless for this. See this:
- I have some BIG (>> 1 TB) filesystem (XFS/ext3/JFS whatever!!!) 
mounted in /BIG
- I call something like snapshot --what=/BIG/data --where=/OTHER_FS/snap1
- from now whenever I delete/create/modify file/dir in /BIG/data then 
BEFORE the action the original file/dir should be copyied/moved to
/OTHER_FS/snap1

There is no place where can I use stackable filesystem because I'd need 
to use it on the very beginning of mounting /BIG so instead:
mount /dev/md0 /BIG -t xfs
I'd need to do something like:
mount /dev/md0 /BIG -t snapfs -o fstype=xfs
Which is something I'm trying to avoid as much as possible for many reasons.


> My guess is that the filesystem change notification would be a better
> solution, either in userspace or in kernelspace, doesn't matter.  But
> that is far from finished or even generally accepted.

This is also something (but just a bit) different - I don't need "change 
notification" but "pre-change notification" ;)

> For the diploma thesis, feel free to use any hack you like, including
> hijacking syscalls.  But remember that it is a hack and nothing else,
> only helping you to remain on schedule and focus more on the real
> subject.  And don't plan on kernel acceptance either, as you will fail
> either that or the thesis and I'd choose the thesis.

You're absolutely right but when I'm going to spent several weeks on 
something like this I'd like to do something usefull - not something 
which will be trashed after exam. So I'm trying to find out some 
"politically correct" way.

Right now I'll code it with the very nasty "find sys_call_table" hack 
just I can test it without rebooting my machine (attempts to get 2.6.0 
running under UML or VMWare failed :-((() and when I'll release some 
0.0.1 version and get some good respondce I'll code it as the VFS patch 
& module.


-- 

Libor Vanek


  reply	other threads:[~2004-01-02 17:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-02 12:59 Syscall table AKA hijacking syscalls Libor Vanek
2004-01-02 13:08 ` Matti Aarnio
2004-01-02 13:26   ` Libor Vanek
2004-01-02 13:57 ` Ragnar Kjørstad
2004-01-02 15:39   ` Libor Vanek
2004-01-02 16:42     ` Jörn Engel
2004-01-02 15:12 ` Muli Ben-Yehuda
2004-01-02 15:38   ` Libor Vanek
2004-01-02 16:00     ` Christoph Hellwig
2004-01-02 16:35       ` Jörn Engel
2004-01-02 16:59         ` Libor Vanek [this message]
2004-01-02 18:04           ` Jörn Engel
2004-01-02 18:58             ` Libor Vanek
2004-01-02 19:15               ` Arjan van de Ven
2004-01-02 19:23                 ` Libor Vanek
2004-01-02 19:18               ` Jörn Engel
2004-01-02 19:37                 ` Libor Vanek
2004-01-02 19:56                   ` Jörn Engel
2004-01-07  9:28     ` stefan.eletzhofer
2004-01-02 23:35 ` Anton Blanchard
2004-01-02 23:46   ` Libor Vanek
2004-01-03 15:41     ` Helge Hafting

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=3FF5A36A.5070501@conet.cz \
    --to=libor@conet.cz \
    --cc=hch@infradead.org \
    --cc=joern@wohnheim.fh-wedel.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mulix@mulix.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