X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fsysv%2Fdir.c;fp=fs%2Fsysv%2Fdir.c;h=cce8b05cba5a03da1068a462aec9b4228e6a2986;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=f2bef962d30983cc1f43d2d965db2faa3fd1af17;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/fs/sysv/dir.c b/fs/sysv/dir.c index f2bef962d..cce8b05cb 100644 --- a/fs/sysv/dir.c +++ b/fs/sysv/dir.c @@ -20,7 +20,7 @@ static int sysv_readdir(struct file *, void *, filldir_t); -const struct file_operations sysv_dir_operations = { +struct file_operations sysv_dir_operations = { .read = generic_read_dir, .readdir = sysv_readdir, .fsync = sysv_sync_file, @@ -53,7 +53,8 @@ static int dir_commit_chunk(struct page *page, unsigned from, unsigned to) static struct page * dir_get_page(struct inode *dir, unsigned long n) { struct address_space *mapping = dir->i_mapping; - struct page *page = read_mapping_page(mapping, n, NULL); + struct page *page = read_cache_page(mapping, n, + (filler_t*)mapping->a_ops->readpage, NULL); if (!IS_ERR(page)) { wait_on_page_locked(page); kmap(page); @@ -252,7 +253,8 @@ int sysv_delete_entry(struct sysv_dir_entry *de, struct page *page) lock_page(page); err = mapping->a_ops->prepare_write(NULL, page, from, to); - BUG_ON(err); + if (err) + BUG(); de->inode = 0; err = dir_commit_chunk(page, from, to); dir_put_page(page); @@ -351,7 +353,8 @@ void sysv_set_link(struct sysv_dir_entry *de, struct page *page, lock_page(page); err = page->mapping->a_ops->prepare_write(NULL, page, from, to); - BUG_ON(err); + if (err) + BUG(); de->inode = cpu_to_fs16(SYSV_SB(inode->i_sb), inode->i_ino); err = dir_commit_chunk(page, from, to); dir_put_page(page);