| .. | .. |
|---|
| 241 | 241 | poffset - lfi); |
|---|
| 242 | 242 | else { |
|---|
| 243 | 243 | if (!copy_name) { |
|---|
| 244 | | - copy_name = kmalloc(UDF_NAME_LEN, |
|---|
| 244 | + copy_name = kmalloc(UDF_NAME_LEN_CS0, |
|---|
| 245 | 245 | GFP_NOFS); |
|---|
| 246 | 246 | if (!copy_name) { |
|---|
| 247 | 247 | fi = ERR_PTR(-ENOMEM); |
|---|
| .. | .. |
|---|
| 306 | 306 | |
|---|
| 307 | 307 | if (dentry->d_name.len > UDF_NAME_LEN) |
|---|
| 308 | 308 | return ERR_PTR(-ENAMETOOLONG); |
|---|
| 309 | | - |
|---|
| 310 | | -#ifdef UDF_RECOVERY |
|---|
| 311 | | - /* temporary shorthand for specifying files by inode number */ |
|---|
| 312 | | - if (!strncmp(dentry->d_name.name, ".B=", 3)) { |
|---|
| 313 | | - struct kernel_lb_addr lb = { |
|---|
| 314 | | - .logicalBlockNum = 0, |
|---|
| 315 | | - .partitionReferenceNum = |
|---|
| 316 | | - simple_strtoul(dentry->d_name.name + 3, |
|---|
| 317 | | - NULL, 0), |
|---|
| 318 | | - }; |
|---|
| 319 | | - inode = udf_iget(dir->i_sb, lb); |
|---|
| 320 | | - if (IS_ERR(inode)) |
|---|
| 321 | | - return inode; |
|---|
| 322 | | - } else |
|---|
| 323 | | -#endif /* UDF_RECOVERY */ |
|---|
| 324 | 309 | |
|---|
| 325 | 310 | fi = udf_find_entry(dir, &dentry->d_name, &fibh, &cfi); |
|---|
| 326 | 311 | if (IS_ERR(fi)) |
|---|
| .. | .. |
|---|
| 478 | 463 | if (dinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) { |
|---|
| 479 | 464 | block = dinfo->i_location.logicalBlockNum; |
|---|
| 480 | 465 | fi = (struct fileIdentDesc *) |
|---|
| 481 | | - (dinfo->i_ext.i_data + |
|---|
| 482 | | - fibh->soffset - |
|---|
| 466 | + (dinfo->i_data + fibh->soffset - |
|---|
| 483 | 467 | udf_ext0_offset(dir) + |
|---|
| 484 | 468 | dinfo->i_lenEAttr); |
|---|
| 485 | 469 | } else { |
|---|
| .. | .. |
|---|
| 962 | 946 | mark_buffer_dirty_inode(epos.bh, inode); |
|---|
| 963 | 947 | ea = epos.bh->b_data + udf_ext0_offset(inode); |
|---|
| 964 | 948 | } else |
|---|
| 965 | | - ea = iinfo->i_ext.i_data + iinfo->i_lenEAttr; |
|---|
| 949 | + ea = iinfo->i_data + iinfo->i_lenEAttr; |
|---|
| 966 | 950 | |
|---|
| 967 | 951 | eoffset = sb->s_blocksize - udf_ext0_offset(inode); |
|---|
| 968 | 952 | pc = (struct pathComponent *)ea; |
|---|
| .. | .. |
|---|
| 1106 | 1090 | return -EINVAL; |
|---|
| 1107 | 1091 | |
|---|
| 1108 | 1092 | ofi = udf_find_entry(old_dir, &old_dentry->d_name, &ofibh, &ocfi); |
|---|
| 1109 | | - if (IS_ERR(ofi)) { |
|---|
| 1110 | | - retval = PTR_ERR(ofi); |
|---|
| 1093 | + if (!ofi || IS_ERR(ofi)) { |
|---|
| 1094 | + if (IS_ERR(ofi)) |
|---|
| 1095 | + retval = PTR_ERR(ofi); |
|---|
| 1111 | 1096 | goto end_rename; |
|---|
| 1112 | 1097 | } |
|---|
| 1113 | 1098 | |
|---|
| .. | .. |
|---|
| 1116 | 1101 | |
|---|
| 1117 | 1102 | brelse(ofibh.sbh); |
|---|
| 1118 | 1103 | tloc = lelb_to_cpu(ocfi.icb.extLocation); |
|---|
| 1119 | | - if (!ofi || udf_get_lb_pblock(old_dir->i_sb, &tloc, 0) |
|---|
| 1120 | | - != old_inode->i_ino) |
|---|
| 1104 | + if (udf_get_lb_pblock(old_dir->i_sb, &tloc, 0) != old_inode->i_ino) |
|---|
| 1121 | 1105 | goto end_rename; |
|---|
| 1122 | 1106 | |
|---|
| 1123 | 1107 | nfi = udf_find_entry(new_dir, &new_dentry->d_name, &nfibh, &ncfi); |
|---|
| .. | .. |
|---|
| 1142 | 1126 | retval = -EIO; |
|---|
| 1143 | 1127 | if (old_iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) { |
|---|
| 1144 | 1128 | dir_fi = udf_get_fileident( |
|---|
| 1145 | | - old_iinfo->i_ext.i_data - |
|---|
| 1129 | + old_iinfo->i_data - |
|---|
| 1146 | 1130 | (old_iinfo->i_efe ? |
|---|
| 1147 | 1131 | sizeof(struct extendedFileEntry) : |
|---|
| 1148 | 1132 | sizeof(struct fileEntry)), |
|---|