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

Index: linux-2.6/fs/sysv/dir.c
===================================================================
--- linux-2.6.orig/fs/sysv/dir.c
+++ linux-2.6/fs/sysv/dir.c
@@ -219,7 +219,7 @@ int sysv_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);
        lock_page(page);
        err = __sysv_write_begin(NULL, page->mapping, pos, SYSV_DIRSIZE,
@@ -246,7 +246,7 @@ int sysv_delete_entry(struct sysv_dir_en
        struct address_space *mapping = page->mapping;
        struct inode *inode = (struct inode*)mapping->host;
        char *kaddr = (char*)page_address(page);
-       loff_t pos = (page->index << PAGE_CACHE_SHIFT) + (char *)de - kaddr;
+       loff_t pos = page_offset(page) + (char *)de - kaddr;
        int err;
 
        lock_page(page);
@@ -347,7 +347,7 @@ void sysv_set_link(struct sysv_dir_entry
 {
        struct address_space *mapping = page->mapping;
        struct inode *dir = mapping->host;
-       loff_t pos = (page->index << PAGE_CACHE_SHIFT) +
+       loff_t pos = page_offset(page) +
                        (char *)de-(char*)page_address(page);
        int err;
 
-
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