diff options
Diffstat (limited to 'fs/hfsplus/dir.c')
-rw-r--r-- | fs/hfsplus/dir.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/hfsplus/dir.c b/fs/hfsplus/dir.c index c05c8776e836..d236d85ec9d7 100644 --- a/fs/hfsplus/dir.c +++ b/fs/hfsplus/dir.c | |||
@@ -418,6 +418,9 @@ static int hfsplus_mknod(struct inode *dir, struct dentry *dentry, | |||
418 | if (!inode) | 418 | if (!inode) |
419 | goto out; | 419 | goto out; |
420 | 420 | ||
421 | if (S_ISBLK(mode) || S_ISCHR(mode) || S_ISFIFO(mode) || S_ISSOCK(mode)) | ||
422 | init_special_inode(inode, mode, rdev); | ||
423 | |||
421 | res = hfsplus_create_cat(inode->i_ino, dir, &dentry->d_name, inode); | 424 | res = hfsplus_create_cat(inode->i_ino, dir, &dentry->d_name, inode); |
422 | if (res) { | 425 | if (res) { |
423 | inode->i_nlink = 0; | 426 | inode->i_nlink = 0; |
@@ -426,9 +429,6 @@ static int hfsplus_mknod(struct inode *dir, struct dentry *dentry, | |||
426 | goto out; | 429 | goto out; |
427 | } | 430 | } |
428 | 431 | ||
429 | if (S_ISBLK(mode) || S_ISCHR(mode) || S_ISFIFO(mode) || S_ISSOCK(mode)) | ||
430 | init_special_inode(inode, mode, rdev); | ||
431 | |||
432 | hfsplus_instantiate(dentry, inode, inode->i_ino); | 432 | hfsplus_instantiate(dentry, inode, inode->i_ino); |
433 | mark_inode_dirty(inode); | 433 | mark_inode_dirty(inode); |
434 | out: | 434 | out: |