Skip to content

Commit

Permalink
fat: convert to new aops
Browse files Browse the repository at this point in the history
Signed-off-by: Nick Piggin <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Nick Piggin authored and Linus Torvalds committed Oct 16, 2007
1 parent 89e1078 commit d7777a2
Showing 1 changed file with 16 additions and 11 deletions.
27 changes: 16 additions & 11 deletions fs/fat/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,19 +141,24 @@ static int fat_readpages(struct file *file, struct address_space *mapping,
return mpage_readpages(mapping, pages, nr_pages, fat_get_block);
}

static int fat_prepare_write(struct file *file, struct page *page,
unsigned from, unsigned to)
static int fat_write_begin(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len, unsigned flags,
struct page **pagep, void **fsdata)
{
return cont_prepare_write(page, from, to, fat_get_block,
&MSDOS_I(page->mapping->host)->mmu_private);
*pagep = NULL;
return cont_write_begin(file, mapping, pos, len, flags, pagep, fsdata,
fat_get_block,
&MSDOS_I(mapping->host)->mmu_private);
}

static int fat_commit_write(struct file *file, struct page *page,
unsigned from, unsigned to)
static int fat_write_end(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len, unsigned copied,
struct page *pagep, void *fsdata)
{
struct inode *inode = page->mapping->host;
int err = generic_commit_write(file, page, from, to);
if (!err && !(MSDOS_I(inode)->i_attrs & ATTR_ARCH)) {
struct inode *inode = mapping->host;
int err;
err = generic_write_end(file, mapping, pos, len, copied, pagep, fsdata);
if (!(err < 0) && !(MSDOS_I(inode)->i_attrs & ATTR_ARCH)) {
inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC;
MSDOS_I(inode)->i_attrs |= ATTR_ARCH;
mark_inode_dirty(inode);
Expand Down Expand Up @@ -202,8 +207,8 @@ static const struct address_space_operations fat_aops = {
.writepage = fat_writepage,
.writepages = fat_writepages,
.sync_page = block_sync_page,
.prepare_write = fat_prepare_write,
.commit_write = fat_commit_write,
.write_begin = fat_write_begin,
.write_end = fat_write_end,
.direct_IO = fat_direct_IO,
.bmap = _fat_bmap
};
Expand Down

0 comments on commit d7777a2

Please sign in to comment.