aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/delayed-inode.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2015-01-30 10:16:33 +0100
committerJan Kara <jack@suse.cz>2015-01-30 10:16:33 +0100
commit1cd6b7be92016538ea1f2a8e1f955e9b974d93ea (patch)
tree77ca10be1da7aaf19cde95de0cb9c4bfcde636a0 /fs/btrfs/delayed-inode.c
parenta39427007e7ccd83dbb7cd81b18156cebeab4d1e (diff)
parent14bf61ffe6ac54afcd1e888a4407fe16054483db (diff)
downloadlinux-1cd6b7be92016538ea1f2a8e1f955e9b974d93ea.tar.gz
Merge branch 'for_linus' into for_next
Diffstat (limited to 'fs/btrfs/delayed-inode.c')
-rw-r--r--fs/btrfs/delayed-inode.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 054577bddaf2..de4e70fb3cbb 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -1857,6 +1857,14 @@ int btrfs_delayed_delete_inode_ref(struct inode *inode)
{
struct btrfs_delayed_node *delayed_node;
+ /*
+ * we don't do delayed inode updates during log recovery because it
+ * leads to enospc problems. This means we also can't do
+ * delayed inode refs
+ */
+ if (BTRFS_I(inode)->root->fs_info->log_root_recovering)
+ return -EAGAIN;
+
delayed_node = btrfs_get_or_create_delayed_node(inode);
if (IS_ERR(delayed_node))
return PTR_ERR(delayed_node);