Here's mine:

/usr/src/linux/fs/ext3/super.c.rej


***************
*** 47,54 ****
static void ext3_clear_journal_err(struct super_block * sb,
struct ext3_super_block * es);

- static int ext3_sync_fs(struct super_block * sb);
-
#ifdef CONFIG_JBD_DEBUG
int journal_no_write[2];

--- 47,52 ----
static void ext3_clear_journal_err(struct super_block * sb,
struct ext3_super_block * es);

#ifdef CONFIG_JBD_DEBUG
int journal_no_write[2];

***************
*** 456,462 ****
delete_inode: ext3_delete_inode, /* BKL not held. We take it */
put_super: ext3_put_super, /* BKL held */
write_super: ext3_write_super, /* BKL held */
- sync_fs: ext3_sync_fs,
write_super_lockfs: ext3_write_super_lockfs, /* BKL not held. Take it */
unlockfs: ext3_unlockfs, /* BKL not held. We take it */
statfs: ext3_statfs, /* BKL held */
--- 454,459 ----
delete_inode: ext3_delete_inode, /* BKL not held. We take it */
put_super: ext3_put_super, /* BKL held */
write_super: ext3_write_super, /* BKL held */
write_super_lockfs: ext3_write_super_lockfs, /* BKL not held. Take it */
unlockfs: ext3_unlockfs, /* BKL not held. We take it */
statfs: ext3_statfs, /* BKL held */
***************
*** 1580,1601 ****
* This implicitly triggers the writebehind on sync().
*/

void ext3_write_super (struct super_block * sb)
{
- if (down_trylock(&sb->s_lock) == 0)
- BUG();
- sb->s_dirt = 0;
- log_start_commit(EXT3_SB(sb)->s_journal, NULL);
- }
-
- static int ext3_sync_fs(struct super_block *sb)
- {
tid_t target;

sb->s_dirt = 0;
target = log_start_commit(EXT3_SB(sb)->s_journal, NULL);
- log_wait_commit(EXT3_SB(sb)->s_journal, target);
- return 0;
}

/*
--- 1577,1600 ----
* This implicitly triggers the writebehind on sync().
*/

+ static int do_sync_supers = 0;
+ MODULE_PARM(do_sync_supers, "i");
+ MODULE_PARM_DESC(do_sync_supers, "Write superblocks synchronously");
+
void ext3_write_super (struct super_block * sb)
{
tid_t target;

+ if (down_trylock(&sb->s_lock) == 0)
+ BUG(); /* aviro detector */
sb->s_dirt = 0;
target = log_start_commit(EXT3_SB(sb)->s_journal, NULL);
+
+ if (do_sync_supers) {
+ unlock_super(sb);
+ log_wait_commit(EXT3_SB(sb)->s_journal, target);
+ lock_super(sb);
+ }
}

/*

--
Ken Moffat
[EMAIL PROTECTED]




_______________________________________________
Linux-users mailing list
[EMAIL PROTECTED]
Unsubscribe/Suspend/Etc -> http://www.linux-sxs.org/mailman/listinfo/linux-users

Reply via email to