|
@@ -674,7 +674,7 @@ int do_remount_sb(struct super_block *sb, int flags, void *data, int force)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static void do_emergency_remount(unsigned long foo)
|
|
|
+static void do_emergency_remount(struct work_struct *work)
|
|
|
{
|
|
|
struct super_block *sb;
|
|
|
|
|
@@ -697,12 +697,19 @@ static void do_emergency_remount(unsigned long foo)
|
|
|
spin_lock(&sb_lock);
|
|
|
}
|
|
|
spin_unlock(&sb_lock);
|
|
|
+ kfree(work);
|
|
|
printk("Emergency Remount complete\n");
|
|
|
}
|
|
|
|
|
|
void emergency_remount(void)
|
|
|
{
|
|
|
- pdflush_operation(do_emergency_remount, 0);
|
|
|
+ struct work_struct *work;
|
|
|
+
|
|
|
+ work = kmalloc(sizeof(*work), GFP_ATOMIC);
|
|
|
+ if (work) {
|
|
|
+ INIT_WORK(work, do_emergency_remount);
|
|
|
+ schedule_work(work);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/*
|