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
Add --enable-debug-dmu-tx configure option
[zfs.git]
/
module
/
zfs
/
zpl_export.c
diff --git
a/module/zfs/zpl_export.c
b/module/zfs/zpl_export.c
index
a389556
..
f82ee30
100644
(file)
--- a/
module/zfs/zpl_export.c
+++ b/
module/zfs/zpl_export.c
@@
-25,6
+25,7
@@
#include <sys/zfs_vnops.h>
#include <sys/zfs_znode.h>
#include <sys/zfs_vnops.h>
#include <sys/zfs_znode.h>
+#include <sys/zfs_ctldir.h>
#include <sys/zpl.h>
#include <sys/zpl.h>
@@
-42,7
+43,10
@@
zpl_encode_fh(struct dentry *dentry, __u32 *fh, int *max_len, int connectable)
fid->fid_len = len_bytes - offsetof(fid_t, fid_data);
fid->fid_len = len_bytes - offsetof(fid_t, fid_data);
- rc = zfs_fid(ip, fid);
+ if (zfsctl_is_node(ip))
+ rc = zfsctl_fid(ip, fid);
+ else
+ rc = zfs_fid(ip, fid);
len_bytes = offsetof(fid_t, fid_data) + fid->fid_len;
*max_len = roundup(len_bytes, sizeof (__u32)) / sizeof (__u32);
len_bytes = offsetof(fid_t, fid_data) + fid->fid_len;
*max_len = roundup(len_bytes, sizeof (__u32)) / sizeof (__u32);
@@
-73,8
+77,6
@@
static struct dentry *
zpl_fh_to_dentry(struct super_block *sb, struct fid *fh,
int fh_len, int fh_type)
{
zpl_fh_to_dentry(struct super_block *sb, struct fid *fh,
int fh_len, int fh_type)
{
- zfs_sb_t *zsb = sb->s_fs_info;
- struct vfsmount *vfs = zsb->z_vfs;
fid_t *fid = (fid_t *)fh;
struct inode *ip;
int len_bytes, rc;
fid_t *fid = (fid_t *)fh;
struct inode *ip;
int len_bytes, rc;
@@
-86,7
+88,7
@@
zpl_fh_to_dentry(struct super_block *sb, struct fid *fh,
len_bytes < offsetof(fid_t, fid_data) + fid->fid_len)
return ERR_PTR(-EINVAL);
len_bytes < offsetof(fid_t, fid_data) + fid->fid_len)
return ERR_PTR(-EINVAL);
- rc = zfs_vget(
vfs
, &ip, fid);
+ rc = zfs_vget(
sb
, &ip, fid);
if (rc != 0)
return ERR_PTR(-rc);
if (rc != 0)
return ERR_PTR(-rc);