All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.