diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2006-08-22 20:06:22 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-09-22 23:24:52 -0400 |
commit | d3db90e270791b21cd00d3c094884bffa907cc9e (patch) | |
tree | 3d6aea8fabd34fba5db5454867811b087bb71e05 /fs/nfs | |
parent | b86acd501a34227e0ed2b2d54dc8002c1701ce17 (diff) | |
download | kernel_goldelico_gta04-d3db90e270791b21cd00d3c094884bffa907cc9e.zip kernel_goldelico_gta04-d3db90e270791b21cd00d3c094884bffa907cc9e.tar.gz kernel_goldelico_gta04-d3db90e270791b21cd00d3c094884bffa907cc9e.tar.bz2 |
NFS: remove a no-longer-needed error check in nfs_symlink()
In the early days of NFS, there was no duplicate reply cache on the server.
Thus retransmitted non-idempotent requests often found that the request had
already completed on the server. To avoid passing an unanticipated return
code to unsuspecting applications, NFS clients would often shunt error
codes that implied the request had been retried but already completed.
Thanks to NFS over TCP, duplicate reply caches on the server, and network
performance and reliability improvements, it is safe to remove such checks.
Test plan:
None.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/dir.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 9b496ef..084e8cb 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1476,14 +1476,10 @@ dentry->d_parent->d_name.name, dentry->d_name.name); error = NFS_PROTO(dir)->symlink(dir, &dentry->d_name, &qsymname, &attr, &sym_fh, &sym_attr); nfs_end_data_update(dir); - if (!error) { + if (!error) error = nfs_instantiate(dentry, &sym_fh, &sym_attr); - } else { - if (error == -EEXIST) - printk("nfs_proc_symlink: %s/%s already exists??\n", - dentry->d_parent->d_name.name, dentry->d_name.name); + else d_drop(dentry); - } unlock_kernel(); return error; } |