int reiserfs_proc_info_done( struct super_block *sb ) { spin_lock( & __PINFO( sb ).lock ); __PINFO( sb ).exiting = 1; spin_unlock( & __PINFO( sb ).lock ); if ( proc_info_root ) { remove_proc_entry( bdevname( sb -> s_dev ), proc_info_root ); sb->u.reiserfs_sb.procdir = NULL; } return 0; }
int reiserfs_proc_info_init(struct super_block *sb) { char b[BDEVNAME_SIZE]; char *s; /* Some block devices use /'s */ strlcpy(b, reiserfs_bdevname(sb), BDEVNAME_SIZE); s = strchr(b, '/'); if (s) *s = '!'; spin_lock_init(&__PINFO(sb).lock); REISERFS_SB(sb)->procdir = proc_mkdir_data(b, 0, proc_info_root, sb); if (REISERFS_SB(sb)->procdir) { add_file(sb, "version", show_version); add_file(sb, "super", show_super); add_file(sb, "per-level", show_per_level); add_file(sb, "bitmap", show_bitmap); add_file(sb, "on-disk-super", show_on_disk_super); add_file(sb, "oidmap", show_oidmap); add_file(sb, "journal", show_journal); return 0; } reiserfs_warning(sb, "cannot create /proc/%s/%s", proc_info_root_name, b); return 1; }
int reiserfs_proc_info_init( struct super_block *sb ) { spin_lock_init( & __PINFO( sb ).lock ); sb->u.reiserfs_sb.procdir = proc_mkdir(sb->s_id, proc_info_root); if( sb->u.reiserfs_sb.procdir ) { sb->u.reiserfs_sb.procdir -> owner = THIS_MODULE; return 0; } reiserfs_warning( "reiserfs: cannot create /proc/%s/%s\n", proc_info_root_name, sb->s_id ); return 1; }