aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/pagelist.c
Commit message (Collapse)AuthorAgeFilesLines
* NFS: Fix a race with PG_private and nfs_release_page()Trond Myklebust2006-03-201-5/+5
| | | | | | | | | | | | | | We don't need to set PG_private for readahead pages, since they never get unlocked while I/O is in progress. However there is a small race in nfs_readpage_release() whereby the page may be unlocked, and have PG_private set. Fix is to have PG_private set only for the case of writes... Also fix a bug in nfs_clear_page_writeback(): Don't attempt to clear the radix_tree tag if we've already deleted the radix tree entry. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* NFS: Avoid races between writebacks and truncationTrond Myklebust2006-03-201-2/+8
| | | | | | | | | | | | | | | Currently, there is no serialisation between NFS asynchronous writebacks and truncation at the page level due to the fact that nfs_sync_inode() cannot lock the pages that it is about to write out. This means that it is possible to be flushing out data (and calling something like set_page_writeback()) while the page cache is busy evicting the page. Oops... Use the hooks provided in try_to_release_page() to ensure that dirty pages are always written back to storage before we evict them. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* [PATCH] NFS: Replace nfs_page insertion sort with a radix sortTrond Myklebust2005-06-221-30/+56
| | | | Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* [PATCH] NFS: Make searching and waiting on busy writeback requests more ↵Trond Myklebust2005-06-221-1/+28
| | | | | | | | | efficient. Basically copies the VFS's method for tracking writebacks and applies it to the struct nfs_page. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* [PATCH] NFS: cleanup: shrink struct nfs_open_contextTrond Myklebust2005-06-221-7/+28
| | | | | | | Remove the wait queue, and replace the functions that depended on it with wait_on_bit(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* Linux-2.6.12-rc2Linus Torvalds2005-04-161-0/+309
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!