summaryrefslogtreecommitdiff
path: root/fs/btrfs
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2015-01-16 22:06:57 +0000
committerMark Brown <broonie@kernel.org>2015-01-16 22:06:57 +0000
commita47897538c3e1f71c35691a1f73e73dd9149977c (patch)
tree462c858397564058dbc996c6ab71613b6d1e35c8 /fs/btrfs
parent7368857a8eed5144e56e65713970764ef0f2f0b8 (diff)
parenta2ab9187600ddca13da9e5c20e3abb92ea885ddd (diff)
Merge tag 'v3.14.29' into linux-linaro-lsk-v3.14
This is the 3.14.29 stable release
Diffstat (limited to 'fs/btrfs')
-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 451b00c86f6c..12e35566d2fc 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -1854,6 +1854,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);