git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
3.10 API change: block_device_operations->release() returns void
[zfs.git]
/
module
/
zfs
/
zpl_inode.c
diff --git
a/module/zfs/zpl_inode.c
b/module/zfs/zpl_inode.c
index
15ee0f6
..
8c8ec24
100644
(file)
--- a/
module/zfs/zpl_inode.c
+++ b/
module/zfs/zpl_inode.c
@@
-41,6
+41,9
@@
zpl_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
struct inode *ip;
int error;
struct inode *ip;
int error;
+ if (dlen(dentry) > ZFS_MAXNAMELEN)
+ return ERR_PTR(-ENAMETOOLONG);
+
crhold(cr);
error = -zfs_lookup(dir, dname(dentry), &ip, 0, cr, NULL, NULL);
ASSERT3S(error, <=, 0);
crhold(cr);
error = -zfs_lookup(dir, dname(dentry), &ip, 0, cr, NULL, NULL);
ASSERT3S(error, <=, 0);
@@
-48,6
+51,9
@@
zpl_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
spin_lock(&dentry->d_lock);
dentry->d_time = jiffies;
spin_lock(&dentry->d_lock);
dentry->d_time = jiffies;
+#ifndef HAVE_S_D_OP
+ d_set_d_op(dentry, &zpl_dentry_operations);
+#endif /* HAVE_S_D_OP */
spin_unlock(&dentry->d_lock);
if (error) {
spin_unlock(&dentry->d_lock);
if (error) {
@@
-99,7
+105,6
@@
zpl_create(struct inode *dir, struct dentry *dentry, zpl_umode_t mode,
error = zpl_xattr_security_init(ip, dir, &dentry->d_name);
VERIFY3S(error, ==, 0);
d_instantiate(dentry, ip);
error = zpl_xattr_security_init(ip, dir, &dentry->d_name);
VERIFY3S(error, ==, 0);
d_instantiate(dentry, ip);
- d_set_d_op(dentry, &zpl_dentry_operations);
}
kmem_free(vap, sizeof(vattr_t));
}
kmem_free(vap, sizeof(vattr_t));
@@
-131,10
+136,8
@@
zpl_mknod(struct inode *dir, struct dentry *dentry, zpl_umode_t mode,
vap->va_rdev = rdev;
error = -zfs_create(dir, dname(dentry), vap, 0, mode, &ip, cr, 0, NULL);
vap->va_rdev = rdev;
error = -zfs_create(dir, dname(dentry), vap, 0, mode, &ip, cr, 0, NULL);
- if (error == 0)
{
+ if (error == 0)
d_instantiate(dentry, ip);
d_instantiate(dentry, ip);
- d_set_d_op(dentry, &zpl_dentry_operations);
- }
kmem_free(vap, sizeof(vattr_t));
crfree(cr);
kmem_free(vap, sizeof(vattr_t));
crfree(cr);
@@
-170,10
+173,8
@@
zpl_mkdir(struct inode *dir, struct dentry *dentry, zpl_umode_t mode)
zpl_vap_init(vap, dir, mode | S_IFDIR, cr);
error = -zfs_mkdir(dir, dname(dentry), vap, &ip, cr, 0, NULL);
zpl_vap_init(vap, dir, mode | S_IFDIR, cr);
error = -zfs_mkdir(dir, dname(dentry), vap, &ip, cr, 0, NULL);
- if (error == 0)
{
+ if (error == 0)
d_instantiate(dentry, ip);
d_instantiate(dentry, ip);
- d_set_d_op(dentry, &zpl_dentry_operations);
- }
kmem_free(vap, sizeof(vattr_t));
crfree(cr);
kmem_free(vap, sizeof(vattr_t));
crfree(cr);
@@
-278,10
+279,8
@@
zpl_symlink(struct inode *dir, struct dentry *dentry, const char *name)
zpl_vap_init(vap, dir, S_IFLNK | S_IRWXUGO, cr);
error = -zfs_symlink(dir, dname(dentry), vap, (char *)name, &ip, cr, 0);
zpl_vap_init(vap, dir, S_IFLNK | S_IRWXUGO, cr);
error = -zfs_symlink(dir, dname(dentry), vap, (char *)name, &ip, cr, 0);
- if (error == 0)
{
+ if (error == 0)
d_instantiate(dentry, ip);
d_instantiate(dentry, ip);
- d_set_d_op(dentry, &zpl_dentry_operations);
- }
kmem_free(vap, sizeof(vattr_t));
crfree(cr);
kmem_free(vap, sizeof(vattr_t));
crfree(cr);
@@
-352,7
+351,6
@@
zpl_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry)
}
d_instantiate(dentry, ip);
}
d_instantiate(dentry, ip);
- d_set_d_op(dentry, &zpl_dentry_operations);
out:
crfree(cr);
ASSERT3S(error, <=, 0);
out:
crfree(cr);
ASSERT3S(error, <=, 0);
@@
-401,7
+399,7
@@
static int
#ifdef HAVE_D_REVALIDATE_NAMEIDATA
zpl_revalidate(struct dentry *dentry, struct nameidata *nd)
{
#ifdef HAVE_D_REVALIDATE_NAMEIDATA
zpl_revalidate(struct dentry *dentry, struct nameidata *nd)
{
- unsigned int flags =
nd->flags
;
+ unsigned int flags =
(nd ? nd->flags : 0)
;
#else
zpl_revalidate(struct dentry *dentry, unsigned int flags)
{
#else
zpl_revalidate(struct dentry *dentry, unsigned int flags)
{