* initialization routines must be called after device
* driver initialization
*/
+#ifndef MODULE
+#undef module_init
#define module_init(a) late_initcall(a)
+#endif
/* XXX our code should be using the 2.6 calls, not the other way around */
#define TryLockPage(page) TestSetPageLocked(page)
#define ll_pgcache_lock(mapping) spin_lock(&mapping->page_lock)
#define ll_pgcache_unlock(mapping) spin_unlock(&mapping->page_lock)
+#define ll_call_writepage(inode, page) \
+ (inode)->i_mapping->a_ops->writepage(page, NULL)
+#define ll_invalidate_inode_pages(inode) \
+ invalidate_inode_pages((inode)->i_mapping)
+#define ll_truncate_complete_page(page) \
+ truncate_complete_page(page->mapping, page)
#define ll_vfs_create(a,b,c,d) vfs_create(a,b,c,d)
static inline void lustre_daemonize_helper(void)
{
LASSERT(current->signal != NULL);
- current->signal->session = 1;
- current->signal->pgrp = 1;
- current->signal->tty = NULL;
+ current->session = 1;
+ if (current->group_leader)
+ current->group_leader->__pgrp = 1;
+ else
+ CERROR("we aren't group leader\n");
+ current->tty = NULL;
}
-#define rb_node_s rb_node
-#define rb_root_s rb_root
-typedef struct rb_root_s rb_root_t;
-typedef struct rb_node_s rb_node_t;
+#define smp_num_cpus NR_CPUS
+
+#ifndef conditional_schedule
+#define conditional_schedule() cond_resched()
+#endif
+
+#include <linux/proc_fs.h>
#else /* 2.4.. */
#define try_module_get __MOD_INC_USE_COUNT
#define module_put __MOD_DEC_USE_COUNT
#define LTIME_S(time) (time)
-#ifndef CONFIG_RH_2_4_20
+#if !defined(CONFIG_RH_2_4_20) && !defined(cpu_online)
#define cpu_online(cpu) (cpu_online_map & (1<<cpu))
#endif
#define ll_pgcache_lock(mapping) spin_lock(&pagecache_lock)
#define ll_pgcache_unlock(mapping) spin_unlock(&pagecache_lock)
+#define ll_call_writepage(inode, page) \
+ (inode)->i_mapping->a_ops->writepage(page)
+#define ll_invalidate_inode_pages(inode) invalidate_inode_pages(inode)
+#define ll_truncate_complete_page(page) truncate_complete_page(page)
static inline void __d_drop(struct dentry *dentry)
{
#define conditional_schedule() if (unlikely(need_resched())) schedule()
#endif
-/* 2.6 has the lovely PagePrivate bit for indicating that a filesystem
- * has hung state off of page->private. We use it. */
-#define PG_private 9 /* unused in 2.4, apparently. */
-#define SetPagePrivate(page) set_bit(PG_private, &(page)->flags)
-#define ClearPagePrivate(page) clear_bit(PG_private, &(page)->flags)
-#define PagePrivate(page) test_bit(PG_private, &(page)->flags)
+/* to find proc_dir_entry from inode. 2.6 has native one -bzzz */
+#ifndef HAVE_PDE
+#define PDE(ii) ((ii)->u.generic_ip)
+#endif
#endif /* end of 2.4 compat macros */