diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-01-17 13:10:55 -0800 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-04-26 15:02:01 -0700 |
commit | 89488984ac23b0580f959b9ee549f2fcb1c2f194 (patch) | |
tree | d839320eec53610c485f93fd922c2206fad25dd7 /fs/ocfs2/mmap.c | |
parent | abf8b1569415bb4a8915a4884943ecd39c510957 (diff) | |
download | linux-89488984ac23b0580f959b9ee549f2fcb1c2f194.tar.gz linux-89488984ac23b0580f959b9ee549f2fcb1c2f194.tar.bz2 linux-89488984ac23b0580f959b9ee549f2fcb1c2f194.zip |
ocfs2: Turn off shared writeable mmap for local files systems with holes.
This will be turned back on once we can do allocation in ->page_mkwrite().
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/mmap.c')
-rw-r--r-- | fs/ocfs2/mmap.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/ocfs2/mmap.c b/fs/ocfs2/mmap.c index 51b020447683..af01158b39f5 100644 --- a/fs/ocfs2/mmap.c +++ b/fs/ocfs2/mmap.c @@ -85,8 +85,11 @@ int ocfs2_mmap(struct file *file, struct vm_area_struct *vma) int ret = 0, lock_level = 0; struct ocfs2_super *osb = OCFS2_SB(file->f_dentry->d_inode->i_sb); - /* We don't want to support shared writable mappings yet. */ - if (!ocfs2_mount_local(osb) && + /* + * Only support shared writeable mmap for local mounts which + * don't know about holes. + */ + if ((!ocfs2_mount_local(osb) || ocfs2_sparse_alloc(osb)) && ((vma->vm_flags & VM_SHARED) || (vma->vm_flags & VM_MAYSHARE)) && ((vma->vm_flags & VM_WRITE) || (vma->vm_flags & VM_MAYWRITE))) { mlog(0, "disallow shared writable mmaps %lx\n", vma->vm_flags); |