I get 'Busy inodes after umount' very often, even with recent kernels.-
Usually it remains unnoticed for a while. A bit more info about what
superblock had problems would be helpful.
bdevname() doesnt seem to be the best way for pretty-printing NFS mounts
for example. Should it just print the major:minor pair? Are there scripts or something that parse such kernel messages, should
the extra info go somewhere else?
fs/super.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
Index: linux-2.6/fs/super.c
===================================================================
--- linux-2.6.orig/fs/super.c
+++ linux-2.6/fs/super.c
@@ -227,6 +227,7 @@ void generic_shutdown_super(struct super
{
struct dentry *root = sb->s_root;
struct super_operations *sop = sb->s_op;
+ char b[BDEVNAME_SIZE];
if (root) {
sb->s_root = NULL;
@@ -247,8 +248,9 @@ void generic_shutdown_super(struct super
/* Forget any remaining inodes */
if (invalidate_inodes(sb)) {
- printk("VFS: Busy inodes after unmount. "
- "Self-destruct in 5 seconds. Have a nice day...\n");
+ printk("VFS: (%s) Busy inodes after unmount. "
+ "Self-destruct in 5 seconds. Have a nice day...\n",
+ bdevname(sb->s_bdev, b));
}
unlock_kernel();