|
@@ -115,27 +115,6 @@ failed:
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
-static int ll_readlink(struct dentry *dentry, char *buffer, int buflen)
|
|
|
-{
|
|
|
- struct inode *inode = dentry->d_inode;
|
|
|
- struct ptlrpc_request *request;
|
|
|
- char *symname;
|
|
|
- int rc;
|
|
|
-
|
|
|
- CDEBUG(D_VFSTRACE, "VFS Op\n");
|
|
|
-
|
|
|
- ll_inode_size_lock(inode);
|
|
|
- rc = ll_readlink_internal(inode, &request, &symname);
|
|
|
- if (rc)
|
|
|
- GOTO(out, rc);
|
|
|
-
|
|
|
- rc = vfs_readlink(dentry, buffer, buflen, symname);
|
|
|
- out:
|
|
|
- ptlrpc_req_finished(request);
|
|
|
- ll_inode_size_unlock(inode);
|
|
|
- return rc;
|
|
|
-}
|
|
|
-
|
|
|
static void *ll_follow_link(struct dentry *dentry, struct nameidata *nd)
|
|
|
{
|
|
|
struct inode *inode = dentry->d_inode;
|
|
@@ -175,7 +154,7 @@ static void ll_put_link(struct dentry *dentry, struct nameidata *nd, void *cooki
|
|
|
}
|
|
|
|
|
|
struct inode_operations ll_fast_symlink_inode_operations = {
|
|
|
- .readlink = ll_readlink,
|
|
|
+ .readlink = generic_readlink,
|
|
|
.setattr = ll_setattr,
|
|
|
.follow_link = ll_follow_link,
|
|
|
.put_link = ll_put_link,
|