Signed-off-by: Nick Piggin <npiggin@xxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html