summary refs log tree commit diff
path: root/fs/btrfs/ioctl.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2009-06-11 11:13:35 -0400
committerChris Mason <chris.mason@oracle.com>2009-06-11 11:13:35 -0400
commit0b4dcea579a1b6f4d249d61f5bc8adeaa7c895d8 (patch)
tree2d8c0a56d853516136fcf9ff43672aca9f011057 /fs/btrfs/ioctl.c
parent067c28adc53807514ac0c6ebb6af3243cbd071fa (diff)
downloadlinux-0b4dcea579a1b6f4d249d61f5bc8adeaa7c895d8.tar.gz
Btrfs: fix oops when btrfs_inherit_iflags called with a NULL dir
This happens during subvol creation.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r--fs/btrfs/ioctl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 926332a73cde..eff18f5b5362 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -112,7 +112,12 @@ void btrfs_update_iflags(struct inode *inode)
  */
 void btrfs_inherit_iflags(struct inode *inode, struct inode *dir)
 {
-	unsigned int flags = BTRFS_I(dir)->flags;
+	unsigned int flags;
+
+	if (!dir)
+		return;
+
+	flags = BTRFS_I(dir)->flags;
 
 	if (S_ISREG(inode->i_mode))
 		flags &= ~BTRFS_INODE_DIRSYNC;