#endif
#if defined(AFS_LINUX26_ENV)
-struct backing_dev_info afs_backing_dev_info = {
- .ra_pages = 0, /* disable readahead, afs does prefetch */
-};
+struct backing_dev_info *afs_backing_dev_info;
int
afs_fill_super(struct super_block *sb, void *data, int silent)
sb->s_blocksize_bits = 10;
sb->s_magic = AFS_VFSMAGIC;
sb->s_op = &afs_sops; /* Super block (vfs) ops */
+ /* used for inodes backing_dev_info field, also */
+ afs_backing_dev_info = osi_Alloc(sizeof(struct backing_dev_info));
#if defined(HAVE_BDI_INIT)
- bdi_init(&afs_backing_dev_info);
+ bdi_init(afs_backing_dev_info);
#endif
+ afs_backing_dev_info->name = "openafs";
+ afs_backing_dev_info->ra_pages = 0;
#if defined (STRUCT_SUPER_BLOCK_HAS_S_BDI)
- sb->s_bdi = &afs_backing_dev_info;
+ sb->s_bdi = afs_backing_dev_info;
/* The name specified here will appear in the flushing thread name - flush-afs */
- bdi_register(&afs_backing_dev_info, NULL, "afs");
+ bdi_register(afs_backing_dev_info, NULL, "afs");
#endif
#if defined(MAX_NON_LFS)
#ifdef AFS_64BIT_CLIENT
osi_linux_verify_alloced_memory();
#if defined(HAVE_BDI_INIT)
- bdi_destroy(&afs_backing_dev_info);
+ bdi_destroy(afs_backing_dev_info);
#endif
+ osi_Free(afs_backing_dev_info, sizeof(struct backing_dev_info));
AFS_GUNLOCK();
sbp->s_dev = 0;
#if defined(AFS_LINUX26_ENV)
#define UnlockPage(pp) unlock_page(pp)
-extern struct backing_dev_info afs_backing_dev_info;
+extern struct backing_dev_info *afs_backing_dev_info;
#if !defined(WRITEPAGE_ACTIVATE)
#define WRITEPAGE_ACTIVATE AOP_WRITEPAGE_ACTIVATE
#endif
vattr2inode(ip, vattr);
#if defined(AFS_LINUX26_ENV)
- ip->i_mapping->backing_dev_info = &afs_backing_dev_info;
+ ip->i_mapping->backing_dev_info = afs_backing_dev_info;
#endif
/* Reset ops if symlink or directory. */
if (S_ISREG(ip->i_mode)) {