.. | .. |
---|
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)), |
---|