From: "Vladimir V. Saveliev" <vs@namesys.com>
To: sander@humilis.net
Cc: "Hesse, Christian" <mail@earthworm.de>,
reiserfs-list@namesys.com, "E.Gryaznova" <grev@namesys.com>
Subject: Re: Collect data?
Date: Wed, 23 Nov 2005 16:09:32 +0300 [thread overview]
Message-ID: <43846A0C.6010808@namesys.com> (raw)
In-Reply-To: <20051123122809.GA31528@favonius>
[-- Attachment #1: Type: text/plain, Size: 763 bytes --]
Hello
Sander wrote:
> Hesse, Christian wrote (ao):
>>On Wednesday 23 November 2005 13:17, Sander wrote:
>>>Hesse, Christian wrote (ao):
>>>>For Sander's list:
>>>>
>>>>http://www.earthworm.de/tmp/reiser4-fsync.c
>>>>strace -T -e sync,fsync reiser4-fsync
>>>I've added this one, but it segfaults at my system:
>>>
>>>$ gcc -o reiser4-fsync reiser4-fsync.c
>>>$ strace -T -e sync,fsync ./reiser4-fsync
>>>Segmentation fault
>>>
>>>Any idea?
>>I think that is caused by a patch in -mm. You should read
>>"2.6.15-rc1-mm2 breaks strace" on lkml.
>
> I use -mm for Reiser4 obviously :-)
>
> Owh well, it is still useful for other kernels of course.
>
Please unapply the attached patch and check whether it makes any effect.
cd fs/reiser4
cat patch | patch -p1 -R
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 2752 bytes --]
diff --git a/plugin/file_ops_readdir.c b/plugin/file_ops_readdir.c
index 9926e7c..b85ae7f 100644
--- a/plugin/file_ops_readdir.c
+++ b/plugin/file_ops_readdir.c
@@ -632,6 +632,14 @@ int readdir_common(struct file *f /* dir
tap_done(&tap);
detach_fsdata(f);
+ /* try to update directory's atime */
+ if (reiser4_grab_space(inode_file_plugin(inode)->estimate.update(inode),
+ BA_CAN_COMMIT) != 0)
+ warning("", "failed to update atime on readdir: %llu",
+ get_inode_oid(inode));
+ else
+ update_atime(inode);
+
context_set_commit_async(ctx);
reiser4_exit_context(ctx);
diff --git a/super_ops.c b/super_ops.c
index fe18006..f4b750b 100644
--- a/super_ops.c
+++ b/super_ops.c
@@ -156,6 +156,28 @@ static void reiser4_destroy_inode(struct
}
/**
+ * reiser4_dirty_inode - dirty_inode of super operations
+ * @inode: inode being dirtied
+ *
+ * Updates stat data.
+ */
+static void reiser4_dirty_inode(struct inode *inode)
+{
+ int result;
+
+ if (!is_in_reiser4_context())
+ return;
+ assert("", !IS_RDONLY(inode));
+ assert("", (inode_file_plugin(inode)->estimate.update(inode) <=
+ get_current_context()->grabbed_blocks));
+
+ result = reiser4_update_sd(inode);
+ if (result)
+ warning("", "failed to dirty inode for %llu: %d",
+ get_inode_oid(inode), result);
+}
+
+/**
* reiser4_delete_inode - delete_inode of super operations
* @inode: inode to delete
*
@@ -421,6 +443,7 @@ static int reiser4_show_options(struct s
struct super_operations reiser4_super_operations = {
.alloc_inode = reiser4_alloc_inode,
.destroy_inode = reiser4_destroy_inode,
+ .dirty_inode = reiser4_dirty_inode,
.delete_inode = reiser4_delete_inode,
.put_super = reiser4_put_super,
.write_super = reiser4_write_super,
diff --git a/vfs_ops.c b/vfs_ops.c
index 7adce84..64cc23d 100644
--- a/vfs_ops.c
+++ b/vfs_ops.c
@@ -53,11 +53,6 @@
#include <linux/rcupdate.h>
-extern struct dentry_operations reiser4_dentry_operation;
-
-
-
-
/* update inode stat-data by calling plugin */
int reiser4_update_sd(struct inode *object)
{
@@ -254,8 +249,6 @@ void reiser4_handle_error(void)
}
}
-
-
struct dentry_operations reiser4_dentry_operations = {
.d_revalidate = NULL,
.d_hash = NULL,
diff --git a/vfs_ops.h b/vfs_ops.h
index 9ba968c..f1556a4 100644
--- a/vfs_ops.h
+++ b/vfs_ops.h
@@ -27,7 +27,7 @@ int reiser4_readpages(struct file *, str
int reiser4_invalidatepage(struct page *, unsigned long offset);
int reiser4_releasepage(struct page *, int gfp);
-extern int reiser4_update_sd(struct inode *object);
+extern int reiser4_update_sd(struct inode *);
extern int reiser4_add_nlink(struct inode *, struct inode *, int);
extern int reiser4_del_nlink(struct inode *, struct inode *, int);
======== end ========
next prev parent reply other threads:[~2005-11-23 13:09 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-17 13:47 More Slowdown Hesse, Christian
2005-11-17 17:22 ` More Slowdown or reiser4 update for 2.6.14-mm2 Vladimir V. Saveliev
2005-11-17 19:13 ` Thorsten Hirsch
2005-11-17 19:33 ` Thorsten Hirsch
2005-11-17 20:23 ` Thorsten Hirsch
2005-11-17 19:40 ` Hesse, Christian
2005-11-21 18:06 ` E.Gryaznova
2005-11-21 18:01 ` Artur Makówka
2005-11-21 18:44 ` Hesse, Christian
2005-11-21 20:50 ` Hesse, Christian
2005-11-21 22:51 ` Craig Shelley
2005-11-21 19:41 ` Avuton Olrich
2005-11-21 21:01 ` Sander
2005-11-22 18:46 ` E.Gryaznova
2005-11-22 19:27 ` Avuton Olrich
2005-11-23 1:31 ` More Slowdown - testscript Craig Shelley
2005-11-23 1:47 ` More Slowdown - testscript [Part 2] Craig Shelley
2005-11-23 20:23 ` More Slowdown - testscript [noatime,nodiratime] Craig Shelley
2005-11-24 4:49 ` Hans Reiser
2005-11-24 7:49 ` Sander
2005-11-24 9:41 ` Avuton Olrich
2005-11-24 10:13 ` Artur Makówka
2005-11-23 7:09 ` Collect data? (was: Re: More Slowdown or reiser4 update for 2.6.14-mm2) Sander
2005-11-23 10:06 ` Collect data? E.Gryaznova
2005-11-23 10:15 ` Sander
2005-11-23 10:26 ` Collect data? (was: Re: More Slowdown or reiser4 update for 2.6.14-mm2) Hesse, Christian
2005-11-23 10:48 ` Sander
2005-11-23 11:22 ` Collect data? Vladimir V. Saveliev
2005-11-23 11:53 ` Hesse, Christian
2005-11-23 12:17 ` Sander
2005-11-23 12:21 ` Hesse, Christian
2005-11-23 12:28 ` Sander
2005-11-23 13:09 ` Vladimir V. Saveliev [this message]
2005-11-23 15:10 ` Sander
2005-11-23 15:19 ` Vladimir V. Saveliev
2005-11-23 15:31 ` Sander
2005-11-23 15:50 ` Vladimir V. Saveliev
2005-11-23 15:57 ` Sander
2005-11-23 18:42 ` Ingo Bormuth
2005-11-23 12:08 ` Sander
2005-11-22 10:23 ` More Slowdown Marcel Hilzinger
2005-11-22 10:38 ` Sander
2005-11-22 10:44 ` Marcel Hilzinger
2005-11-22 14:29 ` David Masover
2005-11-22 15:01 ` Marcel Hilzinger
2005-11-22 19:15 ` David Masover
2005-11-22 23:17 ` Hans Reiser
2005-11-22 15:08 ` Sander
2005-11-22 11:34 ` Ingo Bormuth
2005-11-22 12:29 ` Artur Makówka
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=43846A0C.6010808@namesys.com \
--to=vs@namesys.com \
--cc=grev@namesys.com \
--cc=mail@earthworm.de \
--cc=reiserfs-list@namesys.com \
--cc=sander@humilis.net \
/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.