NFS: Adjust delegated timestamps for O_DIRECT reads and writes
Adjust the timestamps if O_DIRECT is being combined with attribute
delegations.
Fixes: e12912d941
("NFSv4: Add support for delegated atime and mtime attributes")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
This commit is contained in:
parent
fcf857ee19
commit
88025c67fe
1 changed files with 4 additions and 0 deletions
|
@ -56,6 +56,7 @@
|
|||
#include <linux/uaccess.h>
|
||||
#include <linux/atomic.h>
|
||||
|
||||
#include "delegation.h"
|
||||
#include "internal.h"
|
||||
#include "iostat.h"
|
||||
#include "pnfs.h"
|
||||
|
@ -286,6 +287,8 @@ static void nfs_direct_read_completion(struct nfs_pgio_header *hdr)
|
|||
nfs_direct_count_bytes(dreq, hdr);
|
||||
spin_unlock(&dreq->lock);
|
||||
|
||||
nfs_update_delegated_atime(dreq->inode);
|
||||
|
||||
while (!list_empty(&hdr->pages)) {
|
||||
struct nfs_page *req = nfs_list_entry(hdr->pages.next);
|
||||
struct page *page = req->wb_page;
|
||||
|
@ -779,6 +782,7 @@ static void nfs_direct_write_completion(struct nfs_pgio_header *hdr)
|
|||
|
||||
spin_lock(&inode->i_lock);
|
||||
nfs_direct_file_adjust_size_locked(inode, dreq->io_start, dreq->count);
|
||||
nfs_update_delegated_mtime_locked(dreq->inode);
|
||||
spin_unlock(&inode->i_lock);
|
||||
|
||||
while (!list_empty(&hdr->pages)) {
|
||||
|
|
Loading…
Add table
Reference in a new issue