Signed-off-by: Nick Piggin <[EMAIL PROTECTED]>

Index: linux-2.6/fs/ufs/dir.c
===================================================================
--- linux-2.6.orig/fs/ufs/dir.c
+++ linux-2.6/fs/ufs/dir.c
@@ -89,7 +89,7 @@ ino_t ufs_inode_by_name(struct inode *di
 void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
                  struct page *page, struct inode *inode)
 {
-       loff_t pos = (page->index << PAGE_CACHE_SHIFT) +
+       loff_t pos = page_offset(page) +
                        (char *) de - (char *) page_address(page);
        unsigned len = fs16_to_cpu(dir->i_sb, de->d_reclen);
        int err;
@@ -379,7 +379,7 @@ int ufs_add_link(struct dentry *dentry, 
        return -EINVAL;
 
 got_it:
-       pos = (page->index << PAGE_CACHE_SHIFT) +
+       pos = page_offset(page) +
                        (char*)de - (char*)page_address(page);
        err = __ufs_write_begin(NULL, page->mapping, pos, rec_len,
                                AOP_FLAG_UNINTERRUPTIBLE, &page, NULL);
@@ -547,7 +547,7 @@ int ufs_delete_entry(struct inode *inode
        if (pde)
                from = (char*)pde - (char*)page_address(page);
 
-       pos = (page->index << PAGE_CACHE_SHIFT) + from;
+       pos = page_offset(page) + from;
        lock_page(page);
        err = __ufs_write_begin(NULL, mapping, pos, to - from,
                                AOP_FLAG_UNINTERRUPTIBLE, &page, NULL);
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to