X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fefs%2Fsymlink.c;fp=fs%2Fefs%2Fsymlink.c;h=1d30d2ff440fa3fecb7448b25416dd8a2c13abfa;hb=16c70f8c1b54b61c3b951b6fb220df250fe09b32;hp=3d9a350e3e7f6f8687726c7e962a55dbca39a3a8;hpb=4e76c8a9fa413ccc09d3f7f664183dcce3555d57;p=linux-2.6.git diff --git a/fs/efs/symlink.c b/fs/efs/symlink.c index 3d9a350e3..1d30d2ff4 100644 --- a/fs/efs/symlink.c +++ b/fs/efs/symlink.c @@ -22,7 +22,7 @@ static int efs_symlink_readpage(struct file *file, struct page *page) err = -ENAMETOOLONG; if (size > 2 * EFS_BLOCKSIZE) - goto fail; + goto fail_notlocked; lock_kernel(); /* read first 512 bytes of link target */ @@ -47,12 +47,13 @@ static int efs_symlink_readpage(struct file *file, struct page *page) return 0; fail: unlock_kernel(); +fail_notlocked: SetPageError(page); kunmap(page); unlock_page(page); return err; } -struct address_space_operations efs_symlink_aops = { +const struct address_space_operations efs_symlink_aops = { .readpage = efs_symlink_readpage };