linux/fs/ocfs2/dcache.h
<<
>>
Prefs
   1/* -*- mode: c; c-basic-offset: 8; -*-
   2 * vim: noexpandtab sw=8 ts=8 sts=0:
   3 *
   4 * dcache.h
   5 *
   6 * Function prototypes
   7 *
   8 * Copyright (C) 2002, 2004 Oracle.  All rights reserved.
   9 *
  10 * This program is free software; you can redistribute it and/or
  11 * modify it under the terms of the GNU General Public
  12 * License as published by the Free Software Foundation; either
  13 * version 2 of the License, or (at your option) any later version.
  14 *
  15 * This program is distributed in the hope that it will be useful,
  16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  18 * General Public License for more details.
  19 *
  20 * You should have received a copy of the GNU General Public
  21 * License along with this program; if not, write to the
  22 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  23 * Boston, MA 021110-1307, USA.
  24 */
  25
  26#ifndef OCFS2_DCACHE_H
  27#define OCFS2_DCACHE_H
  28
  29extern const struct dentry_operations ocfs2_dentry_ops;
  30
  31struct ocfs2_dentry_lock {
  32        /* Use count of dentry lock */
  33        unsigned int            dl_count;
  34        union {
  35                /* Linked list of dentry locks to release */
  36                struct ocfs2_dentry_lock *dl_next;
  37                u64                     dl_parent_blkno;
  38        };
  39
  40        /*
  41         * The ocfs2_dentry_lock keeps an inode reference until
  42         * dl_lockres has been destroyed. This is usually done in
  43         * ->d_iput() anyway, so there should be minimal impact.
  44         */
  45        struct inode            *dl_inode;
  46        struct ocfs2_lock_res   dl_lockres;
  47};
  48
  49int ocfs2_dentry_attach_lock(struct dentry *dentry, struct inode *inode,
  50                             u64 parent_blkno);
  51
  52extern spinlock_t dentry_list_lock;
  53
  54void ocfs2_dentry_lock_put(struct ocfs2_super *osb,
  55                           struct ocfs2_dentry_lock *dl);
  56
  57void ocfs2_drop_dl_inodes(struct work_struct *work);
  58void ocfs2_drop_all_dl_inodes(struct ocfs2_super *osb);
  59
  60struct dentry *ocfs2_find_local_alias(struct inode *inode, u64 parent_blkno,
  61                                      int skip_unhashed);
  62
  63void ocfs2_dentry_move(struct dentry *dentry, struct dentry *target,
  64                       struct inode *old_dir, struct inode *new_dir);
  65
  66extern spinlock_t dentry_attach_lock;
  67void ocfs2_dentry_attach_gen(struct dentry *dentry);
  68
  69#endif /* OCFS2_DCACHE_H */
  70
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.