wok-tiny annotate kernel-modular/stuff/aufs2-module-2.6.36.patch @ rev 1

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