+#ifdef HAVE_VFS_INTENT_PATCHES
+static int ll_mknod_raw(struct nameidata *nd, int mode, dev_t rdev)
+{
+ return ll_mknod_generic(nd->dentry->d_inode, &nd->last, mode,rdev,NULL);
+}
+static int ll_rename_raw(struct nameidata *srcnd, struct nameidata *tgtnd)
+{
+ return ll_rename_generic(srcnd->dentry->d_inode, srcnd->dentry,
+ NULL, &srcnd->last,
+ tgtnd->dentry->d_inode, tgtnd->dentry,
+ NULL, &tgtnd->last);
+}
+static int ll_link_raw(struct nameidata *srcnd, struct nameidata *tgtnd)
+{
+ return ll_link_generic(srcnd->dentry->d_inode, tgtnd->dentry->d_inode,
+ &tgtnd->last, NULL);
+}
+static int ll_symlink_raw(struct nameidata *nd, const char *tgt)
+{
+ return ll_symlink_generic(nd->dentry->d_inode, &nd->last, tgt, NULL);
+}
+static int ll_rmdir_raw(struct nameidata *nd)
+{
+ return ll_rmdir_generic(nd->dentry->d_inode, nd->dentry, NULL,
+ &nd->last);
+}
+static int ll_mkdir_raw(struct nameidata *nd, int mode)
+{
+ return ll_mkdir_generic(nd->dentry->d_inode, &nd->last, mode, NULL);
+}
+static int ll_unlink_raw(struct nameidata *nd)
+{
+ return ll_unlink_generic(nd->dentry->d_inode, nd->dentry, NULL,
+ &nd->last);
+}
+#endif
+
+static int ll_mknod(struct inode *dir, struct dentry *dchild, int mode,
+ ll_dev_t rdev)
+{
+ return ll_mknod_generic(dir, &dchild->d_name, mode,
+ old_encode_dev(rdev), dchild);
+}
+
+static int ll_unlink(struct inode * dir, struct dentry *dentry)
+{
+ return ll_unlink_generic(dir, NULL, dentry, &dentry->d_name);
+}
+static int ll_mkdir(struct inode *dir, struct dentry *dentry, int mode)
+{
+ return ll_mkdir_generic(dir, &dentry->d_name, mode, dentry);
+}
+static int ll_rmdir(struct inode *dir, struct dentry *dentry)
+{
+ return ll_rmdir_generic(dir, NULL, dentry, &dentry->d_name);
+}
+static int ll_symlink(struct inode *dir, struct dentry *dentry,
+ const char *oldname)
+{
+ return ll_symlink_generic(dir, &dentry->d_name, oldname, dentry);
+}
+static int ll_link(struct dentry *old_dentry, struct inode *dir,
+ struct dentry *new_dentry)
+{
+ return ll_link_generic(old_dentry->d_inode, dir, &new_dentry->d_name,
+ new_dentry);
+}
+static int ll_rename(struct inode *old_dir, struct dentry *old_dentry,
+ struct inode *new_dir, struct dentry *new_dentry)
+{
+ int err;
+ err = ll_rename_generic(old_dir, NULL,
+ old_dentry, &old_dentry->d_name,
+ new_dir, NULL, new_dentry,
+ &new_dentry->d_name);
+ if (!err) {
+#ifndef HAVE_FS_RENAME_DOES_D_MOVE
+ if (!S_ISDIR(old_dentry->d_inode->i_mode))
+#endif
+ d_move(old_dentry, new_dentry);
+ }
+ return err;
+}
+