Commit c4c86abb authored by Hans Westgaard Ry's avatar Hans Westgaard Ry Committed by Leon Romanovsky

net/rds: Detect need of On-Demand-Paging memory registration

Add code to check if memory intended for RDMA is FS-DAX-memory. RDS
will fail with error code EOPNOTSUPP if FS-DAX-memory is detected.
Signed-off-by: default avatarHans Westgaard Ry <hans.westgaard.ry@oracle.com>
Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
parent 8ffc3248
......@@ -156,11 +156,13 @@ void rds_rdma_drop_keys(struct rds_sock *rs)
static int rds_pin_pages(unsigned long user_addr, unsigned int nr_pages,
struct page **pages, int write)
{
unsigned int gup_flags = FOLL_LONGTERM;
int ret;
ret = get_user_pages_fast(user_addr, nr_pages, write ? FOLL_WRITE : 0,
pages);
if (write)
gup_flags |= FOLL_WRITE;
ret = get_user_pages_fast(user_addr, nr_pages, gup_flags, pages);
if (ret >= 0 && ret < nr_pages) {
while (ret--)
put_page(pages[ret]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment