wok-4.x annotate aufs/stuff/aufs2-module-2.6.36.patch @ rev 9324
Up: yad (0.9.1)
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Fri Mar 18 13:07:33 2011 +0100 (2011-03-18) |
parents | |
children |
rev | line source |
---|---|
slaxemulator@7297 | 1 diff --git a/ubuntu/aufs/branch.c b/ubuntu/aufs/branch.c |
slaxemulator@7297 | 2 index cd4463c..ff6b158 100644 |
slaxemulator@7297 | 3 --- a/fs/aufs/branch.c |
slaxemulator@7297 | 4 +++ b/fs/aufs/branch.c |
slaxemulator@7297 | 5 @@ -22,6 +22,8 @@ |
slaxemulator@7297 | 6 |
slaxemulator@7297 | 7 #include <linux/file.h> |
slaxemulator@7297 | 8 #include <linux/statfs.h> |
slaxemulator@7297 | 9 +#include <linux/lglock.h> |
slaxemulator@7297 | 10 +#include <linux/percpu.h> |
slaxemulator@7297 | 11 #include "aufs.h" |
slaxemulator@7297 | 12 |
slaxemulator@7297 | 13 /* |
slaxemulator@7297 | 14 @@ -851,7 +853,8 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) |
slaxemulator@7297 | 15 goto out; |
slaxemulator@7297 | 16 |
slaxemulator@7297 | 17 /* no need file_list_lock() since sbinfo is locked? defered? */ |
slaxemulator@7297 | 18 - list_for_each_entry(file, &sb->s_files, f_u.fu_list) { |
slaxemulator@7297 | 19 + lg_global_lock(files_lglock); |
slaxemulator@7297 | 20 + do_file_list_for_each_entry(sb, file) { |
slaxemulator@7297 | 21 if (special_file(file->f_dentry->d_inode->i_mode)) |
slaxemulator@7297 | 22 continue; |
slaxemulator@7297 | 23 |
slaxemulator@7297 | 24 @@ -861,6 +864,7 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) |
slaxemulator@7297 | 25 err = -EBUSY; |
slaxemulator@7297 | 26 FiMustNoWaiters(file); |
slaxemulator@7297 | 27 fi_read_unlock(file); |
slaxemulator@7297 | 28 + lg_global_unlock(files_lglock); |
slaxemulator@7297 | 29 goto out_free; |
slaxemulator@7297 | 30 } |
slaxemulator@7297 | 31 |
slaxemulator@7297 | 32 @@ -889,10 +893,13 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) |
slaxemulator@7297 | 33 if (p) { |
slaxemulator@7297 | 34 a = p; |
slaxemulator@7297 | 35 a[n++] = hf; |
slaxemulator@7297 | 36 - } else |
slaxemulator@7297 | 37 + } else { |
slaxemulator@7297 | 38 + lg_global_unlock(files_lglock); |
slaxemulator@7297 | 39 goto out_free; |
slaxemulator@7297 | 40 + } |
slaxemulator@7297 | 41 } |
slaxemulator@7297 | 42 - } |
slaxemulator@7297 | 43 + } while_file_list_for_each_entry; |
slaxemulator@7297 | 44 + lg_global_unlock(files_lglock); |
slaxemulator@7297 | 45 |
slaxemulator@7297 | 46 err = 0; |
slaxemulator@7297 | 47 if (n) |