diff options
| author | Joel Becker <jlbec@evilplan.org> | 2011-03-28 09:44:26 -0700 |
|---|---|---|
| committer | Joel Becker <jlbec@evilplan.org> | 2011-03-28 09:44:26 -0700 |
| commit | 99bdc3880c611c7f2061fbd5372ef81b40217e26 (patch) | |
| tree | ef68a53e28e9ee53ce9db3642bab5fa5b3d44866 /fs/exportfs | |
| parent | ed59992e8d91b70053c53d846a76f7e1ac000454 (diff) | |
| parent | b4e1b7e88b2c87c358c2a88bec0c76d25accc604 (diff) | |
Merge branch 'mlog_replace_for_39' of git://repo.or.cz/taoma-kernel into ocfs2-merge-window-fix
Diffstat (limited to 'fs/exportfs')
| -rw-r--r-- | fs/exportfs/expfs.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c index 4b6825740dd..b05acb79613 100644 --- a/fs/exportfs/expfs.c +++ b/fs/exportfs/expfs.c @@ -320,9 +320,14 @@ static int export_encode_fh(struct dentry *dentry, struct fid *fid, struct inode * inode = dentry->d_inode; int len = *max_len; int type = FILEID_INO32_GEN; - - if (len < 2 || (connectable && len < 4)) + + if (connectable && (len < 4)) { + *max_len = 4; + return 255; + } else if (len < 2) { + *max_len = 2; return 255; + } len = 2; fid->i32.ino = inode->i_ino; @@ -369,6 +374,8 @@ struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid, /* * Try to get any dentry for the given file handle from the filesystem. */ + if (!nop || !nop->fh_to_dentry) + return ERR_PTR(-ESTALE); result = nop->fh_to_dentry(mnt->mnt_sb, fid, fh_len, fileid_type); if (!result) result = ERR_PTR(-ESTALE); |
