qnx4fs: small cleanup
Small qnx4 cleanup patch. - removes .writepage, .write_begin and .write_end (+callback functions) - removes '.' path checking in namei.c (handled on upper layers) Signed-off-by: Kai Bankett <chaosman@ontika.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
32991ab305
commit
516cdb68e5
|
@ -286,44 +286,17 @@ static void qnx4_put_super(struct super_block *sb)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int qnx4_writepage(struct page *page, struct writeback_control *wbc)
|
|
||||||
{
|
|
||||||
return block_write_full_page(page,qnx4_get_block, wbc);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int qnx4_readpage(struct file *file, struct page *page)
|
static int qnx4_readpage(struct file *file, struct page *page)
|
||||||
{
|
{
|
||||||
return block_read_full_page(page,qnx4_get_block);
|
return block_read_full_page(page,qnx4_get_block);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int qnx4_write_begin(struct file *file, struct address_space *mapping,
|
|
||||||
loff_t pos, unsigned len, unsigned flags,
|
|
||||||
struct page **pagep, void **fsdata)
|
|
||||||
{
|
|
||||||
struct qnx4_inode_info *qnx4_inode = qnx4_i(mapping->host);
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
*pagep = NULL;
|
|
||||||
ret = cont_write_begin(file, mapping, pos, len, flags, pagep, fsdata,
|
|
||||||
qnx4_get_block,
|
|
||||||
&qnx4_inode->mmu_private);
|
|
||||||
if (unlikely(ret)) {
|
|
||||||
loff_t isize = mapping->host->i_size;
|
|
||||||
if (pos + len > isize)
|
|
||||||
vmtruncate(mapping->host, isize);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
static sector_t qnx4_bmap(struct address_space *mapping, sector_t block)
|
static sector_t qnx4_bmap(struct address_space *mapping, sector_t block)
|
||||||
{
|
{
|
||||||
return generic_block_bmap(mapping,block,qnx4_get_block);
|
return generic_block_bmap(mapping,block,qnx4_get_block);
|
||||||
}
|
}
|
||||||
static const struct address_space_operations qnx4_aops = {
|
static const struct address_space_operations qnx4_aops = {
|
||||||
.readpage = qnx4_readpage,
|
.readpage = qnx4_readpage,
|
||||||
.writepage = qnx4_writepage,
|
|
||||||
.write_begin = qnx4_write_begin,
|
|
||||||
.write_end = generic_write_end,
|
|
||||||
.bmap = qnx4_bmap
|
.bmap = qnx4_bmap
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -39,10 +39,6 @@ static int qnx4_match(int len, const char *name,
|
||||||
} else {
|
} else {
|
||||||
namelen = QNX4_SHORT_NAME_MAX;
|
namelen = QNX4_SHORT_NAME_MAX;
|
||||||
}
|
}
|
||||||
/* "" means "." ---> so paths like "/usr/lib//libc.a" work */
|
|
||||||
if (!len && (de->di_fname[0] == '.') && (de->di_fname[1] == '\0')) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
thislen = strlen( de->di_fname );
|
thislen = strlen( de->di_fname );
|
||||||
if ( thislen > namelen )
|
if ( thislen > namelen )
|
||||||
thislen = namelen;
|
thislen = namelen;
|
||||||
|
|
Loading…
Reference in New Issue