udf: Remove pointless union in udf_inode_info
We use only a single member out of the i_ext union in udf_inode_info. Just remove the pointless union. Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
044e2e26f2
commit
382a2287bf
|
@ -34,7 +34,7 @@ struct fileIdentDesc *udf_fileident_read(struct inode *dir, loff_t *nf_pos,
|
||||||
fibh->soffset = fibh->eoffset;
|
fibh->soffset = fibh->eoffset;
|
||||||
|
|
||||||
if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
||||||
fi = udf_get_fileident(iinfo->i_ext.i_data -
|
fi = udf_get_fileident(iinfo->i_data -
|
||||||
(iinfo->i_efe ?
|
(iinfo->i_efe ?
|
||||||
sizeof(struct extendedFileEntry) :
|
sizeof(struct extendedFileEntry) :
|
||||||
sizeof(struct fileEntry)),
|
sizeof(struct fileEntry)),
|
||||||
|
|
|
@ -50,7 +50,7 @@ static void __udf_adinicb_readpage(struct page *page)
|
||||||
* So just sample it once and use the same value everywhere.
|
* So just sample it once and use the same value everywhere.
|
||||||
*/
|
*/
|
||||||
kaddr = kmap_atomic(page);
|
kaddr = kmap_atomic(page);
|
||||||
memcpy(kaddr, iinfo->i_ext.i_data + iinfo->i_lenEAttr, isize);
|
memcpy(kaddr, iinfo->i_data + iinfo->i_lenEAttr, isize);
|
||||||
memset(kaddr + isize, 0, PAGE_SIZE - isize);
|
memset(kaddr + isize, 0, PAGE_SIZE - isize);
|
||||||
flush_dcache_page(page);
|
flush_dcache_page(page);
|
||||||
SetPageUptodate(page);
|
SetPageUptodate(page);
|
||||||
|
@ -76,8 +76,7 @@ static int udf_adinicb_writepage(struct page *page,
|
||||||
BUG_ON(!PageLocked(page));
|
BUG_ON(!PageLocked(page));
|
||||||
|
|
||||||
kaddr = kmap_atomic(page);
|
kaddr = kmap_atomic(page);
|
||||||
memcpy(iinfo->i_ext.i_data + iinfo->i_lenEAttr, kaddr,
|
memcpy(iinfo->i_data + iinfo->i_lenEAttr, kaddr, i_size_read(inode));
|
||||||
i_size_read(inode));
|
|
||||||
SetPageUptodate(page);
|
SetPageUptodate(page);
|
||||||
kunmap_atomic(kaddr);
|
kunmap_atomic(kaddr);
|
||||||
mark_inode_dirty(inode);
|
mark_inode_dirty(inode);
|
||||||
|
@ -215,7 +214,7 @@ long udf_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
return put_user(UDF_I(inode)->i_lenEAttr, (int __user *)arg);
|
return put_user(UDF_I(inode)->i_lenEAttr, (int __user *)arg);
|
||||||
case UDF_GETEABLOCK:
|
case UDF_GETEABLOCK:
|
||||||
return copy_to_user((char __user *)arg,
|
return copy_to_user((char __user *)arg,
|
||||||
UDF_I(inode)->i_ext.i_data,
|
UDF_I(inode)->i_data,
|
||||||
UDF_I(inode)->i_lenEAttr) ? -EFAULT : 0;
|
UDF_I(inode)->i_lenEAttr) ? -EFAULT : 0;
|
||||||
default:
|
default:
|
||||||
return -ENOIOCTLCMD;
|
return -ENOIOCTLCMD;
|
||||||
|
|
|
@ -67,16 +67,16 @@ struct inode *udf_new_inode(struct inode *dir, umode_t mode)
|
||||||
iinfo->i_efe = 1;
|
iinfo->i_efe = 1;
|
||||||
if (UDF_VERS_USE_EXTENDED_FE > sbi->s_udfrev)
|
if (UDF_VERS_USE_EXTENDED_FE > sbi->s_udfrev)
|
||||||
sbi->s_udfrev = UDF_VERS_USE_EXTENDED_FE;
|
sbi->s_udfrev = UDF_VERS_USE_EXTENDED_FE;
|
||||||
iinfo->i_ext.i_data = kzalloc(inode->i_sb->s_blocksize -
|
iinfo->i_data = kzalloc(inode->i_sb->s_blocksize -
|
||||||
sizeof(struct extendedFileEntry),
|
sizeof(struct extendedFileEntry),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
} else {
|
} else {
|
||||||
iinfo->i_efe = 0;
|
iinfo->i_efe = 0;
|
||||||
iinfo->i_ext.i_data = kzalloc(inode->i_sb->s_blocksize -
|
iinfo->i_data = kzalloc(inode->i_sb->s_blocksize -
|
||||||
sizeof(struct fileEntry),
|
sizeof(struct fileEntry),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
}
|
}
|
||||||
if (!iinfo->i_ext.i_data) {
|
if (!iinfo->i_data) {
|
||||||
iput(inode);
|
iput(inode);
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
}
|
}
|
||||||
|
|
|
@ -157,8 +157,8 @@ void udf_evict_inode(struct inode *inode)
|
||||||
truncate_inode_pages_final(&inode->i_data);
|
truncate_inode_pages_final(&inode->i_data);
|
||||||
invalidate_inode_buffers(inode);
|
invalidate_inode_buffers(inode);
|
||||||
clear_inode(inode);
|
clear_inode(inode);
|
||||||
kfree(iinfo->i_ext.i_data);
|
kfree(iinfo->i_data);
|
||||||
iinfo->i_ext.i_data = NULL;
|
iinfo->i_data = NULL;
|
||||||
udf_clear_extent_cache(inode);
|
udf_clear_extent_cache(inode);
|
||||||
if (want_delete) {
|
if (want_delete) {
|
||||||
udf_free_inode(inode);
|
udf_free_inode(inode);
|
||||||
|
@ -288,14 +288,14 @@ int udf_expand_file_adinicb(struct inode *inode)
|
||||||
kaddr = kmap_atomic(page);
|
kaddr = kmap_atomic(page);
|
||||||
memset(kaddr + iinfo->i_lenAlloc, 0x00,
|
memset(kaddr + iinfo->i_lenAlloc, 0x00,
|
||||||
PAGE_SIZE - iinfo->i_lenAlloc);
|
PAGE_SIZE - iinfo->i_lenAlloc);
|
||||||
memcpy(kaddr, iinfo->i_ext.i_data + iinfo->i_lenEAttr,
|
memcpy(kaddr, iinfo->i_data + iinfo->i_lenEAttr,
|
||||||
iinfo->i_lenAlloc);
|
iinfo->i_lenAlloc);
|
||||||
flush_dcache_page(page);
|
flush_dcache_page(page);
|
||||||
SetPageUptodate(page);
|
SetPageUptodate(page);
|
||||||
kunmap_atomic(kaddr);
|
kunmap_atomic(kaddr);
|
||||||
}
|
}
|
||||||
down_write(&iinfo->i_data_sem);
|
down_write(&iinfo->i_data_sem);
|
||||||
memset(iinfo->i_ext.i_data + iinfo->i_lenEAttr, 0x00,
|
memset(iinfo->i_data + iinfo->i_lenEAttr, 0x00,
|
||||||
iinfo->i_lenAlloc);
|
iinfo->i_lenAlloc);
|
||||||
iinfo->i_lenAlloc = 0;
|
iinfo->i_lenAlloc = 0;
|
||||||
if (UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_USE_SHORT_AD))
|
if (UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_USE_SHORT_AD))
|
||||||
|
@ -311,8 +311,7 @@ int udf_expand_file_adinicb(struct inode *inode)
|
||||||
lock_page(page);
|
lock_page(page);
|
||||||
down_write(&iinfo->i_data_sem);
|
down_write(&iinfo->i_data_sem);
|
||||||
kaddr = kmap_atomic(page);
|
kaddr = kmap_atomic(page);
|
||||||
memcpy(iinfo->i_ext.i_data + iinfo->i_lenEAttr, kaddr,
|
memcpy(iinfo->i_data + iinfo->i_lenEAttr, kaddr, inode->i_size);
|
||||||
inode->i_size);
|
|
||||||
kunmap_atomic(kaddr);
|
kunmap_atomic(kaddr);
|
||||||
unlock_page(page);
|
unlock_page(page);
|
||||||
iinfo->i_alloc_type = ICBTAG_FLAG_AD_IN_ICB;
|
iinfo->i_alloc_type = ICBTAG_FLAG_AD_IN_ICB;
|
||||||
|
@ -399,8 +398,7 @@ struct buffer_head *udf_expand_dir_adinicb(struct inode *inode,
|
||||||
}
|
}
|
||||||
mark_buffer_dirty_inode(dbh, inode);
|
mark_buffer_dirty_inode(dbh, inode);
|
||||||
|
|
||||||
memset(iinfo->i_ext.i_data + iinfo->i_lenEAttr, 0,
|
memset(iinfo->i_data + iinfo->i_lenEAttr, 0, iinfo->i_lenAlloc);
|
||||||
iinfo->i_lenAlloc);
|
|
||||||
iinfo->i_lenAlloc = 0;
|
iinfo->i_lenAlloc = 0;
|
||||||
eloc.logicalBlockNum = *block;
|
eloc.logicalBlockNum = *block;
|
||||||
eloc.partitionReferenceNum =
|
eloc.partitionReferenceNum =
|
||||||
|
@ -1263,7 +1261,7 @@ set_size:
|
||||||
if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
||||||
down_write(&iinfo->i_data_sem);
|
down_write(&iinfo->i_data_sem);
|
||||||
udf_clear_extent_cache(inode);
|
udf_clear_extent_cache(inode);
|
||||||
memset(iinfo->i_ext.i_data + iinfo->i_lenEAttr + newsize,
|
memset(iinfo->i_data + iinfo->i_lenEAttr + newsize,
|
||||||
0x00, bsize - newsize -
|
0x00, bsize - newsize -
|
||||||
udf_file_entry_alloc_offset(inode));
|
udf_file_entry_alloc_offset(inode));
|
||||||
iinfo->i_lenAlloc = newsize;
|
iinfo->i_lenAlloc = newsize;
|
||||||
|
@ -1414,7 +1412,7 @@ reread:
|
||||||
sizeof(struct extendedFileEntry));
|
sizeof(struct extendedFileEntry));
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
goto out;
|
||||||
memcpy(iinfo->i_ext.i_data,
|
memcpy(iinfo->i_data,
|
||||||
bh->b_data + sizeof(struct extendedFileEntry),
|
bh->b_data + sizeof(struct extendedFileEntry),
|
||||||
bs - sizeof(struct extendedFileEntry));
|
bs - sizeof(struct extendedFileEntry));
|
||||||
} else if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_FE)) {
|
} else if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_FE)) {
|
||||||
|
@ -1423,7 +1421,7 @@ reread:
|
||||||
ret = udf_alloc_i_data(inode, bs - sizeof(struct fileEntry));
|
ret = udf_alloc_i_data(inode, bs - sizeof(struct fileEntry));
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
goto out;
|
||||||
memcpy(iinfo->i_ext.i_data,
|
memcpy(iinfo->i_data,
|
||||||
bh->b_data + sizeof(struct fileEntry),
|
bh->b_data + sizeof(struct fileEntry),
|
||||||
bs - sizeof(struct fileEntry));
|
bs - sizeof(struct fileEntry));
|
||||||
} else if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_USE)) {
|
} else if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_USE)) {
|
||||||
|
@ -1436,7 +1434,7 @@ reread:
|
||||||
sizeof(struct unallocSpaceEntry));
|
sizeof(struct unallocSpaceEntry));
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
goto out;
|
||||||
memcpy(iinfo->i_ext.i_data,
|
memcpy(iinfo->i_data,
|
||||||
bh->b_data + sizeof(struct unallocSpaceEntry),
|
bh->b_data + sizeof(struct unallocSpaceEntry),
|
||||||
bs - sizeof(struct unallocSpaceEntry));
|
bs - sizeof(struct unallocSpaceEntry));
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1617,8 +1615,8 @@ out:
|
||||||
static int udf_alloc_i_data(struct inode *inode, size_t size)
|
static int udf_alloc_i_data(struct inode *inode, size_t size)
|
||||||
{
|
{
|
||||||
struct udf_inode_info *iinfo = UDF_I(inode);
|
struct udf_inode_info *iinfo = UDF_I(inode);
|
||||||
iinfo->i_ext.i_data = kmalloc(size, GFP_KERNEL);
|
iinfo->i_data = kmalloc(size, GFP_KERNEL);
|
||||||
if (!iinfo->i_ext.i_data)
|
if (!iinfo->i_data)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1709,7 +1707,7 @@ static int udf_update_inode(struct inode *inode, int do_sync)
|
||||||
|
|
||||||
use->lengthAllocDescs = cpu_to_le32(iinfo->i_lenAlloc);
|
use->lengthAllocDescs = cpu_to_le32(iinfo->i_lenAlloc);
|
||||||
memcpy(bh->b_data + sizeof(struct unallocSpaceEntry),
|
memcpy(bh->b_data + sizeof(struct unallocSpaceEntry),
|
||||||
iinfo->i_ext.i_data, inode->i_sb->s_blocksize -
|
iinfo->i_data, inode->i_sb->s_blocksize -
|
||||||
sizeof(struct unallocSpaceEntry));
|
sizeof(struct unallocSpaceEntry));
|
||||||
use->descTag.tagIdent = cpu_to_le16(TAG_IDENT_USE);
|
use->descTag.tagIdent = cpu_to_le16(TAG_IDENT_USE);
|
||||||
crclen = sizeof(struct unallocSpaceEntry);
|
crclen = sizeof(struct unallocSpaceEntry);
|
||||||
|
@ -1775,7 +1773,7 @@ static int udf_update_inode(struct inode *inode, int do_sync)
|
||||||
|
|
||||||
if (iinfo->i_efe == 0) {
|
if (iinfo->i_efe == 0) {
|
||||||
memcpy(bh->b_data + sizeof(struct fileEntry),
|
memcpy(bh->b_data + sizeof(struct fileEntry),
|
||||||
iinfo->i_ext.i_data,
|
iinfo->i_data,
|
||||||
inode->i_sb->s_blocksize - sizeof(struct fileEntry));
|
inode->i_sb->s_blocksize - sizeof(struct fileEntry));
|
||||||
fe->logicalBlocksRecorded = cpu_to_le64(lb_recorded);
|
fe->logicalBlocksRecorded = cpu_to_le64(lb_recorded);
|
||||||
|
|
||||||
|
@ -1794,7 +1792,7 @@ static int udf_update_inode(struct inode *inode, int do_sync)
|
||||||
crclen = sizeof(struct fileEntry);
|
crclen = sizeof(struct fileEntry);
|
||||||
} else {
|
} else {
|
||||||
memcpy(bh->b_data + sizeof(struct extendedFileEntry),
|
memcpy(bh->b_data + sizeof(struct extendedFileEntry),
|
||||||
iinfo->i_ext.i_data,
|
iinfo->i_data,
|
||||||
inode->i_sb->s_blocksize -
|
inode->i_sb->s_blocksize -
|
||||||
sizeof(struct extendedFileEntry));
|
sizeof(struct extendedFileEntry));
|
||||||
efe->objectSize =
|
efe->objectSize =
|
||||||
|
@ -2090,7 +2088,7 @@ void udf_write_aext(struct inode *inode, struct extent_position *epos,
|
||||||
struct udf_inode_info *iinfo = UDF_I(inode);
|
struct udf_inode_info *iinfo = UDF_I(inode);
|
||||||
|
|
||||||
if (!epos->bh)
|
if (!epos->bh)
|
||||||
ptr = iinfo->i_ext.i_data + epos->offset -
|
ptr = iinfo->i_data + epos->offset -
|
||||||
udf_file_entry_alloc_offset(inode) +
|
udf_file_entry_alloc_offset(inode) +
|
||||||
iinfo->i_lenEAttr;
|
iinfo->i_lenEAttr;
|
||||||
else
|
else
|
||||||
|
@ -2182,7 +2180,7 @@ int8_t udf_current_aext(struct inode *inode, struct extent_position *epos,
|
||||||
if (!epos->bh) {
|
if (!epos->bh) {
|
||||||
if (!epos->offset)
|
if (!epos->offset)
|
||||||
epos->offset = udf_file_entry_alloc_offset(inode);
|
epos->offset = udf_file_entry_alloc_offset(inode);
|
||||||
ptr = iinfo->i_ext.i_data + epos->offset -
|
ptr = iinfo->i_data + epos->offset -
|
||||||
udf_file_entry_alloc_offset(inode) +
|
udf_file_entry_alloc_offset(inode) +
|
||||||
iinfo->i_lenEAttr;
|
iinfo->i_lenEAttr;
|
||||||
alen = udf_file_entry_alloc_offset(inode) +
|
alen = udf_file_entry_alloc_offset(inode) +
|
||||||
|
|
|
@ -52,9 +52,9 @@ struct genericFormat *udf_add_extendedattr(struct inode *inode, uint32_t size,
|
||||||
uint16_t crclen;
|
uint16_t crclen;
|
||||||
struct udf_inode_info *iinfo = UDF_I(inode);
|
struct udf_inode_info *iinfo = UDF_I(inode);
|
||||||
|
|
||||||
ea = iinfo->i_ext.i_data;
|
ea = iinfo->i_data;
|
||||||
if (iinfo->i_lenEAttr) {
|
if (iinfo->i_lenEAttr) {
|
||||||
ad = iinfo->i_ext.i_data + iinfo->i_lenEAttr;
|
ad = iinfo->i_data + iinfo->i_lenEAttr;
|
||||||
} else {
|
} else {
|
||||||
ad = ea;
|
ad = ea;
|
||||||
size += sizeof(struct extendedAttrHeaderDesc);
|
size += sizeof(struct extendedAttrHeaderDesc);
|
||||||
|
@ -153,7 +153,7 @@ struct genericFormat *udf_get_extendedattr(struct inode *inode, uint32_t type,
|
||||||
uint32_t offset;
|
uint32_t offset;
|
||||||
struct udf_inode_info *iinfo = UDF_I(inode);
|
struct udf_inode_info *iinfo = UDF_I(inode);
|
||||||
|
|
||||||
ea = iinfo->i_ext.i_data;
|
ea = iinfo->i_data;
|
||||||
|
|
||||||
if (iinfo->i_lenEAttr) {
|
if (iinfo->i_lenEAttr) {
|
||||||
struct extendedAttrHeaderDesc *eahd;
|
struct extendedAttrHeaderDesc *eahd;
|
||||||
|
|
|
@ -460,8 +460,7 @@ add:
|
||||||
if (dinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
if (dinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
||||||
block = dinfo->i_location.logicalBlockNum;
|
block = dinfo->i_location.logicalBlockNum;
|
||||||
fi = (struct fileIdentDesc *)
|
fi = (struct fileIdentDesc *)
|
||||||
(dinfo->i_ext.i_data +
|
(dinfo->i_data + fibh->soffset -
|
||||||
fibh->soffset -
|
|
||||||
udf_ext0_offset(dir) +
|
udf_ext0_offset(dir) +
|
||||||
dinfo->i_lenEAttr);
|
dinfo->i_lenEAttr);
|
||||||
} else {
|
} else {
|
||||||
|
@ -940,7 +939,7 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry,
|
||||||
mark_buffer_dirty_inode(epos.bh, inode);
|
mark_buffer_dirty_inode(epos.bh, inode);
|
||||||
ea = epos.bh->b_data + udf_ext0_offset(inode);
|
ea = epos.bh->b_data + udf_ext0_offset(inode);
|
||||||
} else
|
} else
|
||||||
ea = iinfo->i_ext.i_data + iinfo->i_lenEAttr;
|
ea = iinfo->i_data + iinfo->i_lenEAttr;
|
||||||
|
|
||||||
eoffset = sb->s_blocksize - udf_ext0_offset(inode);
|
eoffset = sb->s_blocksize - udf_ext0_offset(inode);
|
||||||
pc = (struct pathComponent *)ea;
|
pc = (struct pathComponent *)ea;
|
||||||
|
@ -1120,7 +1119,7 @@ static int udf_rename(struct inode *old_dir, struct dentry *old_dentry,
|
||||||
retval = -EIO;
|
retval = -EIO;
|
||||||
if (old_iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
if (old_iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
||||||
dir_fi = udf_get_fileident(
|
dir_fi = udf_get_fileident(
|
||||||
old_iinfo->i_ext.i_data -
|
old_iinfo->i_data -
|
||||||
(old_iinfo->i_efe ?
|
(old_iinfo->i_efe ?
|
||||||
sizeof(struct extendedFileEntry) :
|
sizeof(struct extendedFileEntry) :
|
||||||
sizeof(struct fileEntry)),
|
sizeof(struct fileEntry)),
|
||||||
|
|
|
@ -65,7 +65,7 @@ uint32_t udf_get_pblock_virt15(struct super_block *sb, uint32_t block,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
||||||
loc = le32_to_cpu(((__le32 *)(iinfo->i_ext.i_data +
|
loc = le32_to_cpu(((__le32 *)(iinfo->i_data +
|
||||||
vdata->s_start_offset))[block]);
|
vdata->s_start_offset))[block]);
|
||||||
goto translate;
|
goto translate;
|
||||||
}
|
}
|
||||||
|
|
|
@ -168,7 +168,7 @@ static void init_once(void *foo)
|
||||||
{
|
{
|
||||||
struct udf_inode_info *ei = (struct udf_inode_info *)foo;
|
struct udf_inode_info *ei = (struct udf_inode_info *)foo;
|
||||||
|
|
||||||
ei->i_ext.i_data = NULL;
|
ei->i_data = NULL;
|
||||||
inode_init_once(&ei->vfs_inode);
|
inode_init_once(&ei->vfs_inode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1202,7 +1202,7 @@ static int udf_load_vat(struct super_block *sb, int p_index, int type1_index)
|
||||||
vat20 = (struct virtualAllocationTable20 *)bh->b_data;
|
vat20 = (struct virtualAllocationTable20 *)bh->b_data;
|
||||||
} else {
|
} else {
|
||||||
vat20 = (struct virtualAllocationTable20 *)
|
vat20 = (struct virtualAllocationTable20 *)
|
||||||
vati->i_ext.i_data;
|
vati->i_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
map->s_type_specific.s_virtual.s_start_offset =
|
map->s_type_specific.s_virtual.s_start_offset =
|
||||||
|
|
|
@ -122,7 +122,7 @@ static int udf_symlink_filler(struct file *file, struct page *page)
|
||||||
|
|
||||||
down_read(&iinfo->i_data_sem);
|
down_read(&iinfo->i_data_sem);
|
||||||
if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
|
||||||
symlink = iinfo->i_ext.i_data + iinfo->i_lenEAttr;
|
symlink = iinfo->i_data + iinfo->i_lenEAttr;
|
||||||
} else {
|
} else {
|
||||||
bh = sb_bread(inode->i_sb, pos);
|
bh = sb_bread(inode->i_sb, pos);
|
||||||
|
|
||||||
|
|
|
@ -45,11 +45,7 @@ struct udf_inode_info {
|
||||||
unsigned i_strat4096 : 1;
|
unsigned i_strat4096 : 1;
|
||||||
unsigned i_streamdir : 1;
|
unsigned i_streamdir : 1;
|
||||||
unsigned reserved : 25;
|
unsigned reserved : 25;
|
||||||
union {
|
__u8 *i_data;
|
||||||
struct short_ad *i_sad;
|
|
||||||
struct long_ad *i_lad;
|
|
||||||
__u8 *i_data;
|
|
||||||
} i_ext;
|
|
||||||
struct kernel_lb_addr i_locStreamdir;
|
struct kernel_lb_addr i_locStreamdir;
|
||||||
__u64 i_lenStreams;
|
__u64 i_lenStreams;
|
||||||
struct rw_semaphore i_data_sem;
|
struct rw_semaphore i_data_sem;
|
||||||
|
|
Loading…
Reference in New Issue