diff options
author | Jeff Layton <jlayton@primarydata.com> | 2015-01-16 15:05:55 -0500 |
---|---|---|
committer | Jeff Layton <jeff.layton@primarydata.com> | 2015-01-16 15:09:25 -0500 |
commit | 5263e31e452fb84138b9bee061d5c06c0f359fea (patch) | |
tree | 68726ce860d2c824f605e6ec3f2adc9187d6dc86 /fs/nfs/pagelist.c | |
parent | c362781cadd37858c3d8f5d18b1e9957d4671298 (diff) |
locks: move flock locks to file_lock_context
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/nfs/pagelist.c')
-rw-r--r-- | fs/nfs/pagelist.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c index 2b5e769beb16..a3b62e15b444 100644 --- a/fs/nfs/pagelist.c +++ b/fs/nfs/pagelist.c | |||
@@ -826,6 +826,7 @@ static bool nfs_can_coalesce_requests(struct nfs_page *prev, | |||
826 | struct nfs_pageio_descriptor *pgio) | 826 | struct nfs_pageio_descriptor *pgio) |
827 | { | 827 | { |
828 | size_t size; | 828 | size_t size; |
829 | struct file_lock_context *flctx; | ||
829 | 830 | ||
830 | if (prev) { | 831 | if (prev) { |
831 | if (!nfs_match_open_context(req->wb_context, prev->wb_context)) | 832 | if (!nfs_match_open_context(req->wb_context, prev->wb_context)) |
@@ -834,6 +835,11 @@ static bool nfs_can_coalesce_requests(struct nfs_page *prev, | |||
834 | !nfs_match_lock_context(req->wb_lock_context, | 835 | !nfs_match_lock_context(req->wb_lock_context, |
835 | prev->wb_lock_context)) | 836 | prev->wb_lock_context)) |
836 | return false; | 837 | return false; |
838 | flctx = req->wb_context->dentry->d_inode->i_flctx; | ||
839 | if (flctx != NULL && !list_empty_careful(&flctx->flc_flock) && | ||
840 | !nfs_match_lock_context(req->wb_lock_context, | ||
841 | prev->wb_lock_context)) | ||
842 | return false; | ||
837 | if (req_offset(req) != req_offset(prev) + prev->wb_bytes) | 843 | if (req_offset(req) != req_offset(prev) + prev->wb_bytes) |
838 | return false; | 844 | return false; |
839 | if (req->wb_page == prev->wb_page) { | 845 | if (req->wb_page == prev->wb_page) { |