Commit a66bd757 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Linus Torvalds
Browse files

watch_queue: Use the bitmap API when applicable



Use bitmap_alloc() to simplify code, improve the semantic and reduce
some open-coded arithmetic in allocator arguments.

Also change a memset(0xff) into an equivalent bitmap_fill() to keep
consistency.

Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 96a4d891
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -220,7 +220,6 @@ long watch_queue_set_size(struct pipe_inode_info *pipe, unsigned int nr_notes)
	struct page **pages;
	unsigned long *bitmap;
	unsigned long user_bufs;
	unsigned int bmsize;
	int ret, i, nr_pages;

	if (!wqueue)
@@ -259,13 +258,11 @@ long watch_queue_set_size(struct pipe_inode_info *pipe, unsigned int nr_notes)
		pages[i]->index = i * WATCH_QUEUE_NOTES_PER_PAGE;
	}

	bmsize = (nr_notes + BITS_PER_LONG - 1) / BITS_PER_LONG;
	bmsize *= sizeof(unsigned long);
	bitmap = kmalloc(bmsize, GFP_KERNEL);
	bitmap = bitmap_alloc(nr_notes, GFP_KERNEL);
	if (!bitmap)
		goto error_p;

	memset(bitmap, 0xff, bmsize);
	bitmap_fill(bitmap, nr_notes);
	wqueue->notes = pages;
	wqueue->notes_bitmap = bitmap;
	wqueue->nr_pages = nr_pages;