LINUX_IOP_I_PERMISSION_TAKES_FLAGS
LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA
LINUX_IOP_I_PUT_LINK_TAKES_COOKIE
+ LINUX_DOP_D_DELETE_TAKES_CONST
LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA
LINUX_FOP_F_FLUSH_TAKES_FL_OWNER_T
LINUX_FOP_F_FSYNC_TAKES_DENTRY
}
static int
+#if defined(DOP_D_DELETE_TAKES_CONST)
+afs_dentry_delete(const struct dentry *dp)
+#else
afs_dentry_delete(struct dentry *dp)
+#endif
{
if (dp->d_inode && (VTOAFS(dp->d_inode)->f.states & CUnlinked))
return 1; /* bad inode? */
[define if dentry->d_count is an int],
[-Werror])
])
+
+
+AC_DEFUN([LINUX_DOP_D_DELETE_TAKES_CONST], [
+ AC_CHECK_LINUX_BUILD([whether dentry.d_op->d_delete takes a const argument],
+ [ac_cv_linux_dop_d_delete_takes_const],
+ [#include <linux/fs.h>
+ #include <linux/dcache.h>],
+ [struct dentry_operations _d_ops;
+ int _d_del(const struct dentry *de) {return 0;};
+ _d_ops.d_delete = _d_del;],
+ [DOP_D_DELETE_TAKES_CONST],
+ [define if dentry.d_op->d_delete takes a const argument],
+ [-Werror])
+])