#define set_page_private(page, v) ((page)->private = (v))
#endif
-#define lock_dentry(___dentry) cfs_spin_lock(&(___dentry)->d_lock)
-#define unlock_dentry(___dentry) cfs_spin_unlock(&(___dentry)->d_lock)
-
#define ll_kernel_locked() kernel_locked()
/*
#include <linux/proc_fs.h>
-#if !defined(HAVE_D_REHASH_COND) && defined(HAVE___D_REHASH)
-#define d_rehash_cond(dentry, lock) __d_rehash(dentry, lock)
-extern void __d_rehash(struct dentry *dentry, int lock);
-#endif
-
#define CheckWriteback(page, cmd) \
((!PageWriteback(page) && (cmd & OBD_BRW_READ)) || \
(PageWriteback(page) && (cmd & OBD_BRW_WRITE)))
vfs_symlink(dir, dentry, path)
#endif
-#define ll_set_dflags(dentry, flags) do { \
- cfs_spin_lock(&dentry->d_lock); \
- dentry->d_flags |= flags; \
- cfs_spin_unlock(&dentry->d_lock); \
- } while(0)
#endif
#ifndef container_of
#define ll_do_statfs(sb, sfs) (sb)->s_op->statfs((sb), (sfs))
#endif
-#ifndef HAVE_SB_TIME_GRAN
-#ifndef HAVE_S_TIME_GRAN
-#error Need s_time_gran patch!
-#endif
-static inline u32 get_sb_time_gran(struct super_block *sb)
-{
- return sb->s_time_gran;
-}
-#endif
-
#ifdef HAVE_RW_TREE_LOCK
#define TREE_READ_LOCK_IRQ(mapping) read_lock_irq(&(mapping)->tree_lock)
#define TREE_READ_UNLOCK_IRQ(mapping) read_unlock_irq(&(mapping)->tree_lock)
#define ll_add_to_page_cache_lru(pg, mapping, off, gfp) \
add_to_page_cache(pg, mapping, off, gfp)
#define ll_pagevec_init(pv, cold) pagevec_init(&lru_pvec, cold);
-#define ll_pagevec_add(pv, pg) pagevec_add(pv, pg)
+#define ll_pagevec_add(pv, pg) \
+({ \
+ int __ret; \
+ \
+ page_cache_get(pg); \
+ __ret = pagevec_add(pv, pg); \
+})
#define ll_pagevec_lru_add_file(pv) pagevec_lru_add_file(pv)
#endif