All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Siddhartha Jain" <sid@netmagicsolutions.com>
To: <linux-fsdevel@vger.kernel.org>
Subject: Replicating directories - Intercepting write/modify system calls
Date: Thu, 12 Feb 2004 18:09:13 +0530	[thread overview]
Message-ID: <AGEEIPMDCDHNNJHJCJEGOEDKCAAA.sid@netmagicsolutions.com> (raw)

Hello,

I need a module/tool to replicate directories locally or across a network.
Locally, the master and the mirror directories may not belong to the same
FS. My immiediate need is to replicate a NFS-mounted directory to another
local/NFS directory. So here is what I figured:

1. A config file contains the master and mirror paths
2. Expand the vnode structure to include two things: a bit-flag to indicate
that the vnode has a replica and a pointer to the replica vnode.
3. When an open() is called,
	a. check if the read/modify option is set in the open() (I am not
interested in replicating access-time at the moment).
	b. If yes, check the path of the file against the known masters in the
config.
	c. If it matches, copy the file to a destination specified by the mirror's
path.
	d. Set the flag in the master vnode for replica and place a pointer to the
replica vnode in the master's structure.
	e. After this replicate all write() calls for the master vnode to the
replica vnode.
	f. close() the replica vnode when the master is close()-ed.


Being a sysadmin and not really a C/Kernel programmer, I do not know how
much is this feasible and practical.

Given that it is ok, how do I avoid the copy at open() and do only
incremental changes everytime a file is closed and re-opened.

Regards,

Siddhartha


             reply	other threads:[~2004-02-12 12:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-12 12:39 Siddhartha Jain [this message]
2004-02-12 17:21 ` Replicating directories - Intercepting write/modify system calls Joseph D. Wagner
2004-02-13  5:00   ` Siddhartha Jain
2004-02-13  8:11     ` Joseph D. Wagner
2004-02-13  8:59       ` Siddhartha Jain
2004-02-14 13:08         ` Joseph D. Wagner
2004-02-13 14:34       ` Siddhartha Jain
2004-02-13 15:11         ` Akshat Aranya
2004-02-13 18:40           ` Herbert Poetzl
2004-02-15  8:06 ` Nir Tzachar

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=AGEEIPMDCDHNNJHJCJEGOEDKCAAA.sid@netmagicsolutions.com \
    --to=sid@netmagicsolutions.com \
    --cc=linux-fsdevel@vger.kernel.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 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.