diff options
author | Michael Hanson <hansonorders@verizon.net> | 2010-11-09 01:43:59 (GMT) |
---|---|---|
committer | Michael Hanson <hansonorders@verizon.net> | 2010-11-09 01:43:59 (GMT) |
commit | 6b218299785aedd78128a9c7831aff1a6eefdcb8 (patch) | |
tree | 79f48e3bac89f7120496e6b3021072212fa6a780 /abs/core/aufs2/aufs2-module-2.6.36.patch | |
parent | f33c5716af099ce4d779cf67f65204f11b551ed6 (diff) | |
parent | e40ac065f9a09f99b37e898b8684d70a0984f399 (diff) | |
download | linhes_pkgbuild-6b218299785aedd78128a9c7831aff1a6eefdcb8.zip linhes_pkgbuild-6b218299785aedd78128a9c7831aff1a6eefdcb8.tar.gz linhes_pkgbuild-6b218299785aedd78128a9c7831aff1a6eefdcb8.tar.bz2 |
Merge branch 'testing' of knoppmyth.net:linhes_pkgbuild into testing
Diffstat (limited to 'abs/core/aufs2/aufs2-module-2.6.36.patch')
-rw-r--r-- | abs/core/aufs2/aufs2-module-2.6.36.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/abs/core/aufs2/aufs2-module-2.6.36.patch b/abs/core/aufs2/aufs2-module-2.6.36.patch new file mode 100644 index 0000000..3b43f7a --- /dev/null +++ b/abs/core/aufs2/aufs2-module-2.6.36.patch @@ -0,0 +1,47 @@ +diff --git a/ubuntu/aufs/branch.c b/ubuntu/aufs/branch.c +index cd4463c..ff6b158 100644 +--- a/fs/aufs/branch.c ++++ b/fs/aufs/branch.c +@@ -22,6 +22,8 @@ + + #include <linux/file.h> + #include <linux/statfs.h> ++#include <linux/lglock.h> ++#include <linux/percpu.h> + #include "aufs.h" + + /* +@@ -851,7 +853,8 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) + goto out; + + /* no need file_list_lock() since sbinfo is locked? defered? */ +- list_for_each_entry(file, &sb->s_files, f_u.fu_list) { ++ lg_global_lock(files_lglock); ++ do_file_list_for_each_entry(sb, file) { + if (special_file(file->f_dentry->d_inode->i_mode)) + continue; + +@@ -861,6 +864,7 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) + err = -EBUSY; + FiMustNoWaiters(file); + fi_read_unlock(file); ++ lg_global_unlock(files_lglock); + goto out_free; + } + +@@ -889,10 +893,13 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) + if (p) { + a = p; + a[n++] = hf; +- } else ++ } else { ++ lg_global_unlock(files_lglock); + goto out_free; ++ } + } +- } ++ } while_file_list_for_each_entry; ++ lg_global_unlock(files_lglock); + + err = 0; + if (n) |