Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 112946
b: refs/heads/master
c: 899fc1a
h: refs/heads/master
v: v3
  • Loading branch information
Alexey Dobriyan authored and Theodore Ts'o committed Sep 14, 2008
1 parent 79528d9 commit 1a86c0d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c62a11fd9555007b1caab83b5bcbb443a43e32bb
refs/heads/master: 899fc1a4cf404747de2666534d508804597ee22f
16 changes: 13 additions & 3 deletions trunk/fs/ext4/mballoc.c
Original file line number Diff line number Diff line change
Expand Up @@ -2786,14 +2786,20 @@ static int ext4_mb_init_per_dev_proc(struct super_block *sb)
mode_t mode = S_IFREG | S_IRUGO | S_IWUSR;
struct ext4_sb_info *sbi = EXT4_SB(sb);
struct proc_dir_entry *proc;
char devname[64];
char devname[BDEVNAME_SIZE], *p;

if (proc_root_ext4 == NULL) {
sbi->s_mb_proc = NULL;
return -EINVAL;
}
bdevname(sb->s_bdev, devname);
p = devname;
while ((p = strchr(p, '/')))
*p = '!';

sbi->s_mb_proc = proc_mkdir(devname, proc_root_ext4);
if (!sbi->s_mb_proc)
goto err_create_dir;

MB_PROC_HANDLER(EXT4_MB_STATS_NAME, stats);
MB_PROC_HANDLER(EXT4_MB_MAX_TO_SCAN_NAME, max_to_scan);
Expand All @@ -2805,7 +2811,6 @@ static int ext4_mb_init_per_dev_proc(struct super_block *sb)
return 0;

err_out:
printk(KERN_ERR "EXT4-fs: Unable to create %s\n", devname);
remove_proc_entry(EXT4_MB_GROUP_PREALLOC, sbi->s_mb_proc);
remove_proc_entry(EXT4_MB_STREAM_REQ, sbi->s_mb_proc);
remove_proc_entry(EXT4_MB_ORDER2_REQ, sbi->s_mb_proc);
Expand All @@ -2814,19 +2819,24 @@ static int ext4_mb_init_per_dev_proc(struct super_block *sb)
remove_proc_entry(EXT4_MB_STATS_NAME, sbi->s_mb_proc);
remove_proc_entry(devname, proc_root_ext4);
sbi->s_mb_proc = NULL;
err_create_dir:
printk(KERN_ERR "EXT4-fs: Unable to create %s\n", devname);

return -ENOMEM;
}

static int ext4_mb_destroy_per_dev_proc(struct super_block *sb)
{
struct ext4_sb_info *sbi = EXT4_SB(sb);
char devname[64];
char devname[BDEVNAME_SIZE], *p;

if (sbi->s_mb_proc == NULL)
return -EINVAL;

bdevname(sb->s_bdev, devname);
p = devname;
while ((p = strchr(p, '/')))
*p = '!';
remove_proc_entry(EXT4_MB_GROUP_PREALLOC, sbi->s_mb_proc);
remove_proc_entry(EXT4_MB_STREAM_REQ, sbi->s_mb_proc);
remove_proc_entry(EXT4_MB_ORDER2_REQ, sbi->s_mb_proc);
Expand Down

0 comments on commit 1a86c0d

Please sign in to comment.