- if ( cache_iops->lookup && filter_iops->lookup ) {
- FDEBUG(D_SUPER, "\n");
- u_iops->lookup = filter_iops->lookup;
- FDEBUG(D_SUPER, "lookup at %p\n", &filter_iops->lookup);
- }
- if (cache_iops->create && filter_iops->create)
- u_iops->create = filter_iops->create;
- FDEBUG(D_SUPER, "\n");
- if (cache_iops->link && filter_iops->link)
- u_iops->link = filter_iops->link;
- FDEBUG(D_SUPER, "\n");
- if (cache_iops->unlink && filter_iops->unlink)
- u_iops->unlink = filter_iops->unlink;
- FDEBUG(D_SUPER, "\n");
- if (cache_iops->mkdir && filter_iops->mkdir)
- u_iops->mkdir = filter_iops->mkdir;
- FDEBUG(D_SUPER, "\n");
- if (cache_iops->rmdir && filter_iops->rmdir)
- u_iops->rmdir = filter_iops->rmdir;
- FDEBUG(D_SUPER, "\n");
- if (cache_iops->symlink && filter_iops->symlink)
- u_iops->symlink = filter_iops->symlink;
- FDEBUG(D_SUPER, "\n");
- if (cache_iops->rename && filter_iops->rename)
- u_iops->rename = filter_iops->rename;
- FDEBUG(D_SUPER, "\n");
- if (cache_iops->mknod && filter_iops->mknod)
- u_iops->mknod = filter_iops->mknod;
- FDEBUG(D_SUPER, "\n");
- if (cache_iops->permission && filter_iops->permission)
- u_iops->permission = filter_iops->permission;
+ if (filter_iops) {
+ struct inode_operations *cache_iops = inode->i_op;
+
+ if (cache_iops->lookup && filter_iops->lookup)
+ u_iops->lookup = filter_iops->lookup;
+ if (cache_iops->create && filter_iops->create)
+ u_iops->create = filter_iops->create;
+ if (cache_iops->link && filter_iops->link)
+ u_iops->link = filter_iops->link;
+ if (cache_iops->unlink && filter_iops->unlink)
+ u_iops->unlink = filter_iops->unlink;
+ if (cache_iops->mkdir && filter_iops->mkdir)
+ u_iops->mkdir = filter_iops->mkdir;
+ if (cache_iops->rmdir && filter_iops->rmdir)
+ u_iops->rmdir = filter_iops->rmdir;
+ if (cache_iops->symlink && filter_iops->symlink)
+ u_iops->symlink = filter_iops->symlink;
+ if (cache_iops->rename && filter_iops->rename)
+ u_iops->rename = filter_iops->rename;
+ if (cache_iops->mknod && filter_iops->mknod)
+ u_iops->mknod = filter_iops->mknod;
+ if (cache_iops->permission && filter_iops->permission)
+ u_iops->permission = filter_iops->permission;
+ if (cache_iops->setattr && filter_iops->setattr)
+ u_iops->setattr = filter_iops->setattr;
+ if (cache_iops->setxattr && filter_iops->setxattr)
+ u_iops->setxattr = filter_iops->setxattr;
+ if (cache_iops->removexattr && filter_iops->removexattr)
+ u_iops->removexattr = filter_iops->removexattr;