X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fefs%2Fsymlink.c;h=1d30d2ff440fa3fecb7448b25416dd8a2c13abfa;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=3d9a350e3e7f6f8687726c7e962a55dbca39a3a8;hpb=76828883507a47dae78837ab5dec5a5b4513c667;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 };