mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
vm_ops: rename .split() callback to .may_split()
Rename the callback to reflect that it's not called *on* or *after* split, but rather some time before the splitting to check if it's possible. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Dmitry Safonov <[email protected]> Cc: Alexander Viro <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Brian Geffon <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Dan Carpenter <[email protected]> Cc: Dan Williams <[email protected]> Cc: Dave Jiang <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Jason Gunthorpe <[email protected]> Cc: John Hubbard <[email protected]> Cc: "Kirill A. Shutemov" <[email protected]> Cc: Mike Kravetz <[email protected]> Cc: Minchan Kim <[email protected]> Cc: Ralph Campbell <[email protected]> Cc: Russell King <[email protected]> Cc: Thomas Bogendoerfer <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Vishal Verma <[email protected]> Cc: Vlastimil Babka <[email protected]> Cc: Will Deacon <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
1 parent
cd544fd1dc
commit
dd3b614f85
5 files changed
+11
-10
No files matched your search
@@ -256,7 +256,7 @@ static vm_fault_t dev_dax_fault(struct vm_fault *vmf)
|
||||
return dev_dax_huge_fault(vmf, PE_SIZE_PTE);
|
||||
}
|
||||
|
||||
static int dev_dax_split(struct vm_area_struct *vma, unsigned long addr)
|
||||
static int dev_dax_may_split(struct vm_area_struct *vma, unsigned long addr)
|
||||
{
|
||||
struct file *filp = vma->vm_file;
|
||||
struct dev_dax *dev_dax = filp->private_data;
|
||||
@@ -277,7 +277,7 @@ static unsigned long dev_dax_pagesize(struct vm_area_struct *vma)
|
||||
static const struct vm_operations_struct dax_vm_ops = {
|
||||
.fault = dev_dax_fault,
|
||||
.huge_fault = dev_dax_huge_fault,
|
||||
.split = dev_dax_split,
|
||||
.may_split = dev_dax_may_split,
|
||||
.pagesize = dev_dax_pagesize,
|
||||
};
|
||||
|
||||
|
||||
+2
-1
@@ -557,7 +557,8 @@ enum page_entry_size {
|
||||
struct vm_operations_struct {
|
||||
void (*open)(struct vm_area_struct * area);
|
||||
void (*close)(struct vm_area_struct * area);
|
||||
int (*split)(struct vm_area_struct * area, unsigned long addr);
|
||||
/* Called any time before splitting to check if it's allowed */
|
||||
int (*may_split)(struct vm_area_struct *area, unsigned long addr);
|
||||
int (*mremap)(struct vm_area_struct *area, unsigned long flags);
|
||||
vm_fault_t (*fault)(struct vm_fault *vmf);
|
||||
vm_fault_t (*huge_fault)(struct vm_fault *vmf,
|
||||
|
||||
@@ -434,13 +434,13 @@ static vm_fault_t shm_fault(struct vm_fault *vmf)
|
||||
return sfd->vm_ops->fault(vmf);
|
||||
}
|
||||
|
||||
static int shm_split(struct vm_area_struct *vma, unsigned long addr)
|
||||
static int shm_may_split(struct vm_area_struct *vma, unsigned long addr)
|
||||
{
|
||||
struct file *file = vma->vm_file;
|
||||
struct shm_file_data *sfd = shm_file_data(file);
|
||||
|
||||
if (sfd->vm_ops->split)
|
||||
return sfd->vm_ops->split(vma, addr);
|
||||
if (sfd->vm_ops->may_split)
|
||||
return sfd->vm_ops->may_split(vma, addr);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -582,7 +582,7 @@ static const struct vm_operations_struct shm_vm_ops = {
|
||||
.open = shm_open, /* callback for a new vm-area open */
|
||||
.close = shm_close, /* callback for when the vm-area is released */
|
||||
.fault = shm_fault,
|
||||
.split = shm_split,
|
||||
.may_split = shm_may_split,
|
||||
.pagesize = shm_pagesize,
|
||||
#if defined(CONFIG_NUMA)
|
||||
.set_policy = shm_set_policy,
|
||||
|
||||
+1
-1
@@ -3673,7 +3673,7 @@ const struct vm_operations_struct hugetlb_vm_ops = {
|
||||
.fault = hugetlb_vm_op_fault,
|
||||
.open = hugetlb_vm_op_open,
|
||||
.close = hugetlb_vm_op_close,
|
||||
.split = hugetlb_vm_op_split,
|
||||
.may_split = hugetlb_vm_op_split,
|
||||
.pagesize = hugetlb_vm_op_pagesize,
|
||||
};
|
||||
|
||||
|
||||
@@ -2731,8 +2731,8 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
|
||||
struct vm_area_struct *new;
|
||||
int err;
|
||||
|
||||
if (vma->vm_ops && vma->vm_ops->split) {
|
||||
err = vma->vm_ops->split(vma, addr);
|
||||
if (vma->vm_ops && vma->vm_ops->may_split) {
|
||||
err = vma->vm_ops->may_split(vma, addr);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user