]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- add patch for btrfs
authorAndrzej Zawadzki <zawadaa@pld-linux.org>
Mon, 6 Apr 2015 20:56:29 +0000 (22:56 +0200)
committerAndrzej Zawadzki <zawadaa@pld-linux.org>
Mon, 6 Apr 2015 20:56:29 +0000 (22:56 +0200)
  https://btrfs.wiki.kernel.org/index.php/Gotchas

kernel-btrfs_deadlock_mount.patch [new file with mode: 0644]
kernel.spec

diff --git a/kernel-btrfs_deadlock_mount.patch b/kernel-btrfs_deadlock_mount.patch
new file mode 100644 (file)
index 0000000..9430d58
--- /dev/null
@@ -0,0 +1,43 @@
+From 9c4f61f01d269815bb7c37be3ede59c5587747c6 Mon Sep 17 00:00:00 2001
+From: David Sterba <dsterba@suse.cz>
+Date: Fri, 2 Jan 2015 19:12:57 +0100
+Subject: btrfs: simplify insert_orphan_item
+
+We can search and add the orphan item in one go,
+btrfs_insert_orphan_item will find out if the item already exists.
+
+Signed-off-by: David Sterba <dsterba@suse.cz>
+
+diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
+index 5be45c1..25a1c36 100644
+--- a/fs/btrfs/tree-log.c
++++ b/fs/btrfs/tree-log.c
+@@ -1254,21 +1254,13 @@ out:
+ }
+ static int insert_orphan_item(struct btrfs_trans_handle *trans,
+-                            struct btrfs_root *root, u64 offset)
++                            struct btrfs_root *root, u64 ino)
+ {
+       int ret;
+-      struct btrfs_path *path;
+-
+-      path = btrfs_alloc_path();
+-      if (!path)
+-              return -ENOMEM;
+-      ret = btrfs_find_item(root, path, BTRFS_ORPHAN_OBJECTID,
+-                      offset, BTRFS_ORPHAN_ITEM_KEY, NULL);
+-      if (ret > 0)
+-              ret = btrfs_insert_orphan_item(trans, root, offset);
+-
+-      btrfs_free_path(path);
++      ret = btrfs_insert_orphan_item(trans, root, ino);
++      if (ret == -EEXIST)
++              ret = 0;
+       return ret;
+ }
+-- 
+cgit v0.10.2
+
index 5a1738c6f7d870e69445776d7fd894eaf1fee9c4..9a0891916debaa5a2f8054ae9de71de764a30065 100644 (file)
@@ -70,7 +70,7 @@
 %define                have_pcmcia     0
 %endif
 
-%define                rel             2
+%define                rel             3
 %define                basever         3.19
 %define                postver         .3
 
@@ -234,6 +234,7 @@ Patch505:   dm-crypt-sort-requests.patch
 Patch2000:     kernel-small_fixes.patch
 Patch2001:     kernel-pwc-uncompress.patch
 Patch2003:     kernel-regressions.patch
+Patch2004:     kernel-btrfs_deadlock_mount.patch
 
 # bzr co lp:apparmor
 # ls apparmor/kernel-patches/3.12
@@ -750,6 +751,7 @@ cd linux-%{basever}
 %patch2000 -p1
 %patch2001 -p1
 #%patch2003 -p1
+%patch2004 -p1
 
 # Do not remove this, please!
 #%%patch50000 -p1
This page took 0.093959 seconds and 4 git commands to generate.