From: Fred Schaettgen <namesys.sch@ttgen.net>
To: reiserfs-list@namesys.com
Subject: Recursive mtime implementation questions
Date: Tue, 11 Jan 2005 13:07:56 +0100 [thread overview]
Message-ID: <200501111307.56368.namesys.sch@ttgen.net> (raw)
Hi,
I'm trying to get started with my idea of recursive mtimes, which where
discussed a few days ago, but I'm stuck a little. Maybe someone with some
more knowlege about reiser4 could give me some hints?
The idea was to register each file for change monitoring and reset a special
mtime-attribute for the file and all parent directories (recursively) if the
watched file changes. Before this will happen the next time, a userspace
program has to reenable mtime for each of these files again.
It's hard to discuss the problems and advantages of code that exists only in
someone's brain, so I'm trying to implement it. I'm still quite clueless
about the details of reiser4, but if noone else does it, I'll have no
choice ;)
-- I have to attach a list of parent directories to each watched file, since a
file can be hardlinked in several directories.
This list is usually very short, but sometimes it might be quite long. How
would I store such a list? Directly in the stat data? Or put it in a file and
link to it from the stat data? Or is there another efficient way in reiser4
to the all the parent directories?
It would also help to know how ACLs will be stored on disk by reiser4. Does
reiser4 implement some sort of ACLs at all? If yes, where in the code is
that?
-- I have to monitor the file for changes.
The only solution I could think of was to create a new file plugin
(watched_file), which wraps another file plugin and delegates all method
calls to that plugin. Now where do it store the pointer to the wrapped file
plugin in memory? If I add a new field to the reiser4_inode struct, this
would mean that every reiser4_inode grows in size, even if it is not the
inode of a watched file.
In http://www.namesys.com/v4/v4.html#audit, there are some lines about an
auditing plugin, which is not yet written. How will this work? With a
file-plugin wrapper too or as another plugin type? Is there some code for
that in the meantime?
-- When a file is changed, the new mtime has to be reset recursively and
atomically at the same time.
Is it possible for reiser4 to do a number of - rarley, but still - deeply
nested transactions?
regards
Fred
--
Fred Schaettgen
sch@ttgen.net
next reply other threads:[~2005-01-11 12:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-11 12:07 Fred Schaettgen [this message]
2005-01-11 14:41 ` Recursive mtime implementation questions Edward Shishkin
2005-01-11 17:54 ` Fred Schaettgen
2005-01-13 13:15 ` Edward Shishkin
2005-01-13 15:18 ` Fred Schaettgen
2005-01-13 23:56 ` David Masover
2005-01-18 13:04 ` Edward Shishkin
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=200501111307.56368.namesys.sch@ttgen.net \
--to=namesys.sch@ttgen.net \
--cc=reiserfs-list@namesys.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.