orangefs: revamp block sizes
Now the superblock block size is PAGE_SIZE. The inode block size is PAGE_SIZE for directories and symlinks, but is the server-reported block size for regular files. The block size in the OrangeFS private inode is now deleted. Stat now reports PAGE_SIZE for directories and symlinks and the server-reported block size for regular files. The user-space visible change is that the block size for directores and symlinks and the superblock is now PAGE_SIZE rather than the size of the client-core shared memory buffers, which was typically four megabytes. Reported-by: Becky Ligon <ligon@clemson.edu> Signed-off-by: Martin Brandenburg <martin@omnibond.com> Cc: hubcap@omnibond.com Cc: walt@omnibond.com Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:

committed by
Mike Marshall

parent
b04e217704
commit
9f8fd53cd0
@@ -20,8 +20,8 @@ static int read_one_page(struct page *page)
|
||||
int max_block;
|
||||
ssize_t bytes_read = 0;
|
||||
struct inode *inode = page->mapping->host;
|
||||
const __u32 blocksize = PAGE_SIZE; /* inode->i_blksize */
|
||||
const __u32 blockbits = PAGE_SHIFT; /* inode->i_blkbits */
|
||||
const __u32 blocksize = PAGE_SIZE;
|
||||
const __u32 blockbits = PAGE_SHIFT;
|
||||
struct iov_iter to;
|
||||
struct bio_vec bv = {.bv_page = page, .bv_len = PAGE_SIZE};
|
||||
|
||||
@@ -262,7 +262,6 @@ int orangefs_getattr(const struct path *path, struct kstat *stat,
|
||||
|
||||
/* override block size reported to stat */
|
||||
orangefs_inode = ORANGEFS_I(inode);
|
||||
stat->blksize = orangefs_inode->blksize;
|
||||
|
||||
if (request_mask & STATX_SIZE)
|
||||
stat->result_mask = STATX_BASIC_STATS;
|
||||
@@ -325,7 +324,6 @@ static int orangefs_init_iops(struct inode *inode)
|
||||
case S_IFREG:
|
||||
inode->i_op = &orangefs_file_inode_operations;
|
||||
inode->i_fop = &orangefs_file_operations;
|
||||
inode->i_blkbits = PAGE_SHIFT;
|
||||
break;
|
||||
case S_IFLNK:
|
||||
inode->i_op = &orangefs_symlink_inode_operations;
|
||||
|
Reference in New Issue
Block a user