~ubuntu-branches/ubuntu/quantal/aufs/quantal

« back to all changes in this revision

Viewing changes to fs/aufs/iinfo.c

  • Committer: Bazaar Package Importer
  • Author(s): Julian Andres Klode
  • Date: 2008-04-01 18:26:37 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20080401182637-ujuqq47eiggw4y5w
Tags: 0+20080401-1
* New upstream snapshot
  - Remove bashisms in script (Closes: #471288)
* debian/conf.mk, linux-patch-aufs.kpatches.sysfs_get_dentry:
  - Remove support for this patch, no longer used
* debian/conf.mk:
  - Add hacks for arm to armel (Closes: #473767)
* debian/control:
  - Add Dm-Upload-Allowed
* debian/copyright:
  - Use http://wiki.debian.org/Proposals/CopyrightFormat
* debian/linux-patch-aufs.kpatches.{splice,put_filp}:
  - Add support for Kernel 2.6.24 (and 2.6.25)
* debian/patches:
  - 01_vserver_apparmor: Update patch
  - 06_rt: Add patch for realtime kernel
  - 07_splice_hack: Add hack to support splice operations (Closes: #473430)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (C) 2005, 2006, 2007 Junjiro Okajima
 
2
 * Copyright (C) 2005, 2006, 2007, 2008 Junjiro Okajima
3
3
 *
4
4
 * This program, aufs is free software; you can redistribute it and/or modify
5
5
 * it under the terms of the GNU General Public License as published by
16
16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
17
 */
18
18
 
19
 
/* $Id: iinfo.c,v 1.45 2008/01/21 04:57:48 sfjro Exp $ */
 
19
/* $Id: iinfo.c,v 1.47 2008/02/18 04:37:44 sfjro Exp $ */
20
20
 
21
21
#include "aufs.h"
22
22
 
133
133
 
134
134
        flags = 0;
135
135
        if (AuFlag(sbinfo, f_xino) != AuXino_NONE)
136
 
                flags = AUFS_HI_XINO;
 
136
                au_fset_hi(flags, XINO);
137
137
        if (unlikely(isdir && au_flag_test_udba_inotify(sb)))
138
 
                flags |= AUFS_HI_NOTIFY;
 
138
                au_fset_hi(flags, NOTIFY);
139
139
        return flags;
140
140
}
141
141
 
164
164
 
165
165
        if (hi) {
166
166
#if 0 // remove this
167
 
                if (unlikely(!hi->i_nlink && (flags & AUFS_HI_XINO))) {
 
167
                if (!hi->i_nlink && au_ftest_hi(flags, XINO)) {
168
168
                        AuDebugOn(sbr_id(sb, bindex) != hinode->hi_id);
169
169
                        xino_write0(inode->i_sb, bindex, hi->i_ino, 0);
170
170
                        /* ignore this error */
181
181
                if (bindex == iinfo->ii_bstart)
182
182
                        au_cpup_igen(inode, h_inode);
183
183
                hinode->hi_id = sbr_id(sb, bindex);
184
 
                if (flags & AUFS_HI_XINO) {
 
184
                if (au_ftest_hi(flags, XINO)) {
185
185
                        struct xino_entry xinoe = {
186
186
                                .ino    = inode->i_ino,
187
187
                                //.h_gen        = h_inode->i_generation
196
196
                        }
197
197
                }
198
198
#ifdef CONFIG_AUFS_HINOTIFY
199
 
                if (unlikely((flags & AUFS_HI_NOTIFY)
 
199
                if (unlikely(au_ftest_hi(flags, NOTIFY)
200
200
                             && br_hinotifyable(sbr_perm(sb, bindex)))) {
201
201
                        err = au_hin_alloc(hinode, inode, h_inode);
202
202
                        if (unlikely(err))
335
335
                sb = inode->i_sb;
336
336
                unlinked = !inode->i_nlink;
337
337
                ino = 0;
338
 
                if (unlikely(unlinked))
 
338
                if (unlinked)
339
339
                        ino = inode->i_ino;
340
340
                hi = iinfo->ii_hinode + iinfo->ii_bstart;
341
341
                bend = iinfo->ii_bend;
342
342
                while (iinfo->ii_bstart++ <= bend) {
343
343
                        if (hi->hi_inode) {
344
 
                                if (unlikely(unlinked
345
 
                                             || !hi->hi_inode->i_nlink)) {
 
344
                                if (unlinked || !hi->hi_inode->i_nlink) {
346
345
                                        au_iinfo_write0(sb, hi, ino);
347
346
                                        /* ignore this error */
348
347
                                        ino = 0;