Messages in this thread | | | Date | Wed, 1 Sep 2004 17:32:25 -0400 (EDT) | From | Suresh Gopalakrishnan <> | Subject | NFS returns EBADCOOKIE (523) to user space |
| |
When a process is doing a readdir in a directory and another process is deleting objects in the same directory, sometimes EBADCOOKIE seems to be returned to the first process.
The following messages were seen when nfs tracing was turned on. kernel: NFS: find_dirent() returns -523 kernel: NFS: find_dirent_page() returns -523 kernel: NFS: readdir_search_pagecache() returned -523
Here is the analysis: In nfs_readdir, when readdir_search_pagecache() returns -EBADCOOKIE, uncached_readdir() is called. This sets desc->error to -EBADCOOKIE, and status to -EIO. In nfs_readdir(), the status (res) is reset to 0. Then desc->error is returned as is to user space.
--suresh
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |