wok-current annotate linux/stuff/aufs2-module-2.6.36.patch @ rev 7914

Fixed shell-fm to backup source and to use the right version.
author Christopher Rogers <slaxemulator@gmail.com>
date Sun Jan 09 15:26:35 2011 +0000 (2011-01-09)
parents
children
rev   line source
slaxemulator@7131 1 diff --git a/ubuntu/aufs/branch.c b/ubuntu/aufs/branch.c
slaxemulator@7131 2 index cd4463c..ff6b158 100644
slaxemulator@7131 3 --- a/fs/aufs/branch.c
slaxemulator@7131 4 +++ b/fs/aufs/branch.c
slaxemulator@7131 5 @@ -22,6 +22,8 @@
slaxemulator@7131 6
slaxemulator@7131 7 #include <linux/file.h>
slaxemulator@7131 8 #include <linux/statfs.h>
slaxemulator@7131 9 +#include <linux/lglock.h>
slaxemulator@7131 10 +#include <linux/percpu.h>
slaxemulator@7131 11 #include "aufs.h"
slaxemulator@7131 12
slaxemulator@7131 13 /*
slaxemulator@7131 14 @@ -851,7 +853,8 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex)
slaxemulator@7131 15 goto out;
slaxemulator@7131 16
slaxemulator@7131 17 /* no need file_list_lock() since sbinfo is locked? defered? */
slaxemulator@7131 18 - list_for_each_entry(file, &sb->s_files, f_u.fu_list) {
slaxemulator@7131 19 + lg_global_lock(files_lglock);
slaxemulator@7131 20 + do_file_list_for_each_entry(sb, file) {
slaxemulator@7131 21 if (special_file(file->f_dentry->d_inode->i_mode))
slaxemulator@7131 22 continue;
slaxemulator@7131 23
slaxemulator@7131 24 @@ -861,6 +864,7 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex)
slaxemulator@7131 25 err = -EBUSY;
slaxemulator@7131 26 FiMustNoWaiters(file);
slaxemulator@7131 27 fi_read_unlock(file);
slaxemulator@7131 28 + lg_global_unlock(files_lglock);
slaxemulator@7131 29 goto out_free;
slaxemulator@7131 30 }
slaxemulator@7131 31
slaxemulator@7131 32 @@ -889,10 +893,13 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex)
slaxemulator@7131 33 if (p) {
slaxemulator@7131 34 a = p;
slaxemulator@7131 35 a[n++] = hf;
slaxemulator@7131 36 - } else
slaxemulator@7131 37 + } else {
slaxemulator@7131 38 + lg_global_unlock(files_lglock);
slaxemulator@7131 39 goto out_free;
slaxemulator@7131 40 + }
slaxemulator@7131 41 }
slaxemulator@7131 42 - }
slaxemulator@7131 43 + } while_file_list_for_each_entry;
slaxemulator@7131 44 + lg_global_unlock(files_lglock);
slaxemulator@7131 45
slaxemulator@7131 46 err = 0;
slaxemulator@7131 47 if (n)