Skip to content

Commit

Permalink
pagemap.h: move dir_pages() over there
Browse files Browse the repository at this point in the history
That function was declared in a lot of filesystems to calculate
directory pages.

Signed-off-by: Fabian Frederick <[email protected]>
Signed-off-by: Al Viro <[email protected]>
  • Loading branch information
Fabian Frederick authored and Al Viro committed Jun 23, 2015
1 parent e5e6e97 commit b57c2cb
Show file tree
Hide file tree
Showing 8 changed files with 6 additions and 38 deletions.
6 changes: 0 additions & 6 deletions fs/exofs/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,6 @@ static inline void exofs_put_page(struct page *page)
page_cache_release(page);
}

/* Accesses dir's inode->i_size must be called under inode lock */
static inline unsigned long dir_pages(struct inode *inode)
{
return (inode->i_size + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
}

static unsigned exofs_last_byte(struct inode *inode, unsigned long page_nr)
{
loff_t last_byte = inode->i_size;
Expand Down
5 changes: 0 additions & 5 deletions fs/ext2/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,6 @@ static inline void ext2_put_page(struct page *page)
page_cache_release(page);
}

static inline unsigned long dir_pages(struct inode *inode)
{
return (inode->i_size+PAGE_CACHE_SIZE-1)>>PAGE_CACHE_SHIFT;
}

/*
* Return the offset into page `page_nr' of the last valid
* byte in that page, plus one.
Expand Down
7 changes: 0 additions & 7 deletions fs/freevxfs/vxfs_lookup.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,6 @@ const struct file_operations vxfs_dir_operations = {
.iterate = vxfs_readdir,
};


static inline u_long
dir_pages(struct inode *inode)
{
return (inode->i_size + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
}

static inline u_long
dir_blocks(struct inode *ip)
{
Expand Down
5 changes: 0 additions & 5 deletions fs/minix/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,6 @@ minix_last_byte(struct inode *inode, unsigned long page_nr)
return last_byte;
}

static inline unsigned long dir_pages(struct inode *inode)
{
return (inode->i_size+PAGE_CACHE_SIZE-1)>>PAGE_CACHE_SHIFT;
}

static int dir_commit_chunk(struct page *page, loff_t pos, unsigned len)
{
struct address_space *mapping = page->mapping;
Expand Down
5 changes: 0 additions & 5 deletions fs/nilfs2/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,6 @@ static inline void nilfs_put_page(struct page *page)
page_cache_release(page);
}

static inline unsigned long dir_pages(struct inode *inode)
{
return (inode->i_size+PAGE_CACHE_SIZE-1)>>PAGE_CACHE_SHIFT;
}

/*
* Return the offset into page `page_nr' of the last valid
* byte in that page, plus one.
Expand Down
5 changes: 0 additions & 5 deletions fs/qnx6/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,6 @@ static struct page *qnx6_get_page(struct inode *dir, unsigned long n)
return page;
}

static inline unsigned long dir_pages(struct inode *inode)
{
return (inode->i_size+PAGE_CACHE_SIZE-1)>>PAGE_CACHE_SHIFT;
}

static unsigned last_entry(struct inode *inode, unsigned long page_nr)
{
unsigned long last_byte = inode->i_size;
Expand Down
5 changes: 0 additions & 5 deletions fs/sysv/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,6 @@ static inline void dir_put_page(struct page *page)
page_cache_release(page);
}

static inline unsigned long dir_pages(struct inode *inode)
{
return (inode->i_size+PAGE_CACHE_SIZE-1)>>PAGE_CACHE_SHIFT;
}

static int dir_commit_chunk(struct page *page, loff_t pos, unsigned len)
{
struct address_space *mapping = page->mapping;
Expand Down
6 changes: 6 additions & 0 deletions include/linux/pagemap.h
Original file line number Diff line number Diff line change
Expand Up @@ -670,4 +670,10 @@ static inline int add_to_page_cache(struct page *page,
return error;
}

static inline unsigned long dir_pages(struct inode *inode)
{
return (unsigned long)(inode->i_size + PAGE_CACHE_SIZE - 1) >>
PAGE_CACHE_SHIFT;
}

#endif /* _LINUX_PAGEMAP_H */

0 comments on commit b57c2cb

Please sign in to comment.