diff options
| author | Cyrill Gorcunov <gorcunov@gmail.com> | 2007-07-21 04:37:18 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-21 17:49:14 -0700 | 
| commit | 28de7948a896763bc97ccd416bba5b9422158350 (patch) | |
| tree | abee128b137a6fa9fa4104b7bbc4ee409467c38f /fs/udf/inode.c | |
| parent | 71133027febfabd501fde7583b30008224f4d799 (diff) | |
UDF: coding style conversion - lindent fixups
This patch fixes up sources after conversion by Lindent.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Jan Kara <jack@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/udf/inode.c')
| -rw-r--r-- | fs/udf/inode.c | 948 | 
1 files changed, 368 insertions, 580 deletions
| diff --git a/fs/udf/inode.c b/fs/udf/inode.c index be6326f449a1..0d2c41666cd2 100644 --- a/fs/udf/inode.c +++ b/fs/udf/inode.c @@ -97,7 +97,8 @@ void udf_delete_inode(struct inode *inode)  	unlock_kernel();  	return; -      no_delete: + +no_delete:  	clear_inode(inode);  } @@ -144,12 +145,12 @@ static sector_t udf_bmap(struct address_space *mapping, sector_t block)  }  const struct address_space_operations udf_aops = { -	.readpage = udf_readpage, -	.writepage = udf_writepage, -	.sync_page = block_sync_page, -	.prepare_write = udf_prepare_write, -	.commit_write = generic_commit_write, -	.bmap = udf_bmap, +	.readpage	= udf_readpage, +	.writepage	= udf_writepage, +	.sync_page	= block_sync_page, +	.prepare_write	= udf_prepare_write, +	.commit_write	= generic_commit_write, +	.bmap		= udf_bmap,  };  void udf_expand_file_adinicb(struct inode *inode, int newsize, int *err) @@ -230,12 +231,10 @@ struct buffer_head *udf_expand_dir_adinicb(struct inode *inode, int *block,  	*block = udf_new_block(inode->i_sb, inode,  			       UDF_I_LOCATION(inode).partitionReferenceNum,  			       UDF_I_LOCATION(inode).logicalBlockNum, err); -  	if (!(*block))  		return NULL;  	newblock = udf_get_pblock(inode->i_sb, *block, -				  UDF_I_LOCATION(inode).partitionReferenceNum, -				  0); +				  UDF_I_LOCATION(inode).partitionReferenceNum, 0);  	if (!newblock)  		return NULL;  	dbh = udf_tgetblk(inode->i_sb, newblock); @@ -247,16 +246,13 @@ struct buffer_head *udf_expand_dir_adinicb(struct inode *inode, int *block,  	unlock_buffer(dbh);  	mark_buffer_dirty_inode(dbh, inode); -	sfibh.soffset = sfibh.eoffset = -	    (f_pos & ((inode->i_sb->s_blocksize - 1) >> 2)) << 2; +	sfibh.soffset = sfibh.eoffset = (f_pos & ((inode->i_sb->s_blocksize - 1) >> 2)) << 2;  	sfibh.sbh = sfibh.ebh = NULL;  	dfibh.soffset = dfibh.eoffset = 0;  	dfibh.sbh = dfibh.ebh = dbh;  	while ((f_pos < size)) {  		UDF_I_ALLOCTYPE(inode) = ICBTAG_FLAG_AD_IN_ICB; -		sfi = -		    udf_fileident_read(inode, &f_pos, &sfibh, &cfi, NULL, NULL, -				       NULL, NULL); +		sfi = udf_fileident_read(inode, &f_pos, &sfibh, &cfi, NULL, NULL, NULL, NULL);  		if (!sfi) {  			brelse(dbh);  			return NULL; @@ -267,8 +263,7 @@ struct buffer_head *udf_expand_dir_adinicb(struct inode *inode, int *block,  		dfibh.eoffset += (sfibh.eoffset - sfibh.soffset);  		dfi = (struct fileIdentDesc *)(dbh->b_data + dfibh.soffset);  		if (udf_write_fi(inode, sfi, dfi, &dfibh, sfi->impUse, -				 sfi->fileIdent + -				 le16_to_cpu(sfi->lengthOfImpUse))) { +				 sfi->fileIdent + le16_to_cpu(sfi->lengthOfImpUse))) {  			UDF_I_ALLOCTYPE(inode) = ICBTAG_FLAG_AD_IN_ICB;  			brelse(dbh);  			return NULL; @@ -276,12 +271,10 @@ struct buffer_head *udf_expand_dir_adinicb(struct inode *inode, int *block,  	}  	mark_buffer_dirty_inode(dbh, inode); -	memset(UDF_I_DATA(inode) + UDF_I_LENEATTR(inode), 0, -	       UDF_I_LENALLOC(inode)); +	memset(UDF_I_DATA(inode) + UDF_I_LENEATTR(inode), 0, UDF_I_LENALLOC(inode));  	UDF_I_LENALLOC(inode) = 0;  	eloc.logicalBlockNum = *block; -	eloc.partitionReferenceNum = -	    UDF_I_LOCATION(inode).partitionReferenceNum; +	eloc.partitionReferenceNum = UDF_I_LOCATION(inode).partitionReferenceNum;  	elen = inode->i_size;  	UDF_I_LENEXTENTS(inode) = elen;  	epos.bh = NULL; @@ -334,11 +327,12 @@ static int udf_get_block(struct inode *inode, sector_t block,  	if (new)  		set_buffer_new(bh_result);  	map_bh(bh_result, inode->i_sb, phys); -      abort: + +abort:  	unlock_kernel();  	return err; -      abort_negative: +abort_negative:  	udf_warning(inode->i_sb, "udf_get_block", "block < 0");  	goto abort;  } @@ -346,13 +340,13 @@ static int udf_get_block(struct inode *inode, sector_t block,  static struct buffer_head *udf_getblk(struct inode *inode, long block,  				      int create, int *err)  { +	struct buffer_head *bh;  	struct buffer_head dummy;  	dummy.b_state = 0;  	dummy.b_blocknr = -1000;  	*err = udf_get_block(inode, block, &dummy, create);  	if (!*err && buffer_mapped(&dummy)) { -		struct buffer_head *bh;  		bh = sb_getblk(inode->i_sb, dummy.b_blocknr);  		if (buffer_new(&dummy)) {  			lock_buffer(bh); @@ -363,6 +357,7 @@ static struct buffer_head *udf_getblk(struct inode *inode, long block,  		}  		return bh;  	} +  	return NULL;  } @@ -373,42 +368,41 @@ int udf_extend_file(struct inode *inode, struct extent_position *last_pos,  	sector_t add;  	int count = 0, fake = !(last_ext->extLength & UDF_EXTENT_LENGTH_MASK);  	struct super_block *sb = inode->i_sb; -	kernel_lb_addr prealloc_loc = { 0, 0 }; +	kernel_lb_addr prealloc_loc = {};  	int prealloc_len = 0;  	/* The previous extent is fake and we should not extend by anything  	 * - there's nothing to do... */  	if (!blocks && fake)  		return 0; +  	/* Round the last extent up to a multiple of block size */  	if (last_ext->extLength & (sb->s_blocksize - 1)) {  		last_ext->extLength = -		    (last_ext->extLength & UDF_EXTENT_FLAG_MASK) | -		    (((last_ext->extLength & UDF_EXTENT_LENGTH_MASK) + -		      sb->s_blocksize - 1) & ~(sb->s_blocksize - 1)); +			(last_ext->extLength & UDF_EXTENT_FLAG_MASK) | +			(((last_ext->extLength & UDF_EXTENT_LENGTH_MASK) + +			  sb->s_blocksize - 1) & ~(sb->s_blocksize - 1));  		UDF_I_LENEXTENTS(inode) = -		    (UDF_I_LENEXTENTS(inode) + sb->s_blocksize - 1) & -		    ~(sb->s_blocksize - 1); +			(UDF_I_LENEXTENTS(inode) + sb->s_blocksize - 1) & +			~(sb->s_blocksize - 1);  	} +  	/* Last extent are just preallocated blocks? */ -	if ((last_ext->extLength & UDF_EXTENT_FLAG_MASK) == -	    EXT_NOT_RECORDED_ALLOCATED) { +	if ((last_ext->extLength & UDF_EXTENT_FLAG_MASK) == EXT_NOT_RECORDED_ALLOCATED) {  		/* Save the extent so that we can reattach it to the end */  		prealloc_loc = last_ext->extLocation;  		prealloc_len = last_ext->extLength;  		/* Mark the extent as a hole */  		last_ext->extLength = EXT_NOT_RECORDED_NOT_ALLOCATED | -		    (last_ext->extLength & UDF_EXTENT_LENGTH_MASK); +			(last_ext->extLength & UDF_EXTENT_LENGTH_MASK);  		last_ext->extLocation.logicalBlockNum = 0; -		last_ext->extLocation.partitionReferenceNum = 0; +       		last_ext->extLocation.partitionReferenceNum = 0;  	} +  	/* Can we merge with the previous extent? */ -	if ((last_ext->extLength & UDF_EXTENT_FLAG_MASK) == -	    EXT_NOT_RECORDED_NOT_ALLOCATED) { -		add = -		    ((1 << 30) - sb->s_blocksize - -		     (last_ext->extLength & UDF_EXTENT_LENGTH_MASK)) >> sb-> -		    s_blocksize_bits; +	if ((last_ext->extLength & UDF_EXTENT_FLAG_MASK) == EXT_NOT_RECORDED_NOT_ALLOCATED) { +		add = ((1 << 30) - sb->s_blocksize - (last_ext->extLength & +						      UDF_EXTENT_LENGTH_MASK)) >> sb->s_blocksize_bits;  		if (add > blocks)  			add = blocks;  		blocks -= add; @@ -419,19 +413,20 @@ int udf_extend_file(struct inode *inode, struct extent_position *last_pos,  		udf_add_aext(inode, last_pos, last_ext->extLocation,  			     last_ext->extLength, 1);  		count++; -	} else -		udf_write_aext(inode, last_pos, last_ext->extLocation, -			       last_ext->extLength, 1); +	} else { +		udf_write_aext(inode, last_pos, last_ext->extLocation, last_ext->extLength, 1); +	} +  	/* Managed to do everything necessary? */  	if (!blocks)  		goto out;  	/* All further extents will be NOT_RECORDED_NOT_ALLOCATED */  	last_ext->extLocation.logicalBlockNum = 0; -	last_ext->extLocation.partitionReferenceNum = 0; -	add = (1 << (30 - sb->s_blocksize_bits)) - 1; -	last_ext->extLength = -	    EXT_NOT_RECORDED_NOT_ALLOCATED | (add << sb->s_blocksize_bits); +       	last_ext->extLocation.partitionReferenceNum = 0; +	add = (1 << (30-sb->s_blocksize_bits)) - 1; +	last_ext->extLength = EXT_NOT_RECORDED_NOT_ALLOCATED | (add << sb->s_blocksize_bits); +  	/* Create enough extents to cover the whole hole */  	while (blocks > add) {  		blocks -= add; @@ -442,22 +437,23 @@ int udf_extend_file(struct inode *inode, struct extent_position *last_pos,  	}  	if (blocks) {  		last_ext->extLength = EXT_NOT_RECORDED_NOT_ALLOCATED | -		    (blocks << sb->s_blocksize_bits); +			(blocks << sb->s_blocksize_bits);  		if (udf_add_aext(inode, last_pos, last_ext->extLocation,  				 last_ext->extLength, 1) == -1)  			return -1;  		count++;  	} -      out: + +out:  	/* Do we have some preallocated blocks saved? */  	if (prealloc_len) { -		if (udf_add_aext(inode, last_pos, prealloc_loc, prealloc_len, 1) -		    == -1) +		if (udf_add_aext(inode, last_pos, prealloc_loc, prealloc_len, 1) == -1)  			return -1;  		last_ext->extLocation = prealloc_loc;  		last_ext->extLength = prealloc_len;  		count++;  	} +  	/* last_pos should point to the last written extent... */  	if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_SHORT)  		last_pos->offset -= sizeof(short_ad); @@ -465,6 +461,7 @@ int udf_extend_file(struct inode *inode, struct extent_position *last_pos,  		last_pos->offset -= sizeof(long_ad);  	else  		return -1; +  	return count;  } @@ -490,7 +487,7 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  	prev_epos.block = UDF_I_LOCATION(inode);  	prev_epos.bh = NULL;  	cur_epos = next_epos = prev_epos; -	b_off = (loff_t) block << inode->i_sb->s_blocksize_bits; +	b_off = (loff_t)block << inode->i_sb->s_blocksize_bits;  	/* find the extent which contains the block we are looking for.  	   alternate between laarr[0] and laarr[1] for locations of the @@ -515,8 +512,7 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  		prev_epos.offset = cur_epos.offset;  		cur_epos.offset = next_epos.offset; -		if ((etype = -		     udf_next_aext(inode, &next_epos, &eloc, &elen, 1)) == -1) +		if ((etype = udf_next_aext(inode, &next_epos, &eloc, &elen, 1)) == -1)  			break;  		c = !c; @@ -526,8 +522,8 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  		if (etype != (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30))  			pgoal = eloc.logicalBlockNum + -			    ((elen + inode->i_sb->s_blocksize - 1) >> -			     inode->i_sb->s_blocksize_bits); +				((elen + inode->i_sb->s_blocksize - 1) >> +				 inode->i_sb->s_blocksize_bits);  		count++;  	} while (lbcount + elen <= b_off); @@ -547,8 +543,8 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  	if (etype == (EXT_RECORDED_ALLOCATED >> 30)) {  		if (elen & (inode->i_sb->s_blocksize - 1)) {  			elen = EXT_RECORDED_ALLOCATED | -			    ((elen + inode->i_sb->s_blocksize - 1) & -			     ~(inode->i_sb->s_blocksize - 1)); +				((elen + inode->i_sb->s_blocksize - 1) & +				 ~(inode->i_sb->s_blocksize - 1));  			etype = udf_write_aext(inode, &cur_epos, eloc, elen, 1);  		}  		brelse(prev_epos.bh); @@ -570,8 +566,7 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  			startnum = 1;  		} else {  			/* Create a fake extent when there's not one */ -			memset(&laarr[0].extLocation, 0x00, -			       sizeof(kernel_lb_addr)); +			memset(&laarr[0].extLocation, 0x00, sizeof(kernel_lb_addr));  			laarr[0].extLength = EXT_NOT_RECORDED_NOT_ALLOCATED;  			/* Will udf_extend_file() create real extent from a fake one? */  			startnum = (offset > 0); @@ -591,16 +586,14 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  		offset = 0;  		count += ret;  		/* We are not covered by a preallocated extent? */ -		if ((laarr[0].extLength & UDF_EXTENT_FLAG_MASK) != -		    EXT_NOT_RECORDED_ALLOCATED) { +		if ((laarr[0].extLength & UDF_EXTENT_FLAG_MASK) != EXT_NOT_RECORDED_ALLOCATED) {  			/* Is there any real extent? - otherwise we overwrite  			 * the fake one... */  			if (count)  				c = !c;  			laarr[c].extLength = EXT_NOT_RECORDED_NOT_ALLOCATED | -			    inode->i_sb->s_blocksize; -			memset(&laarr[c].extLocation, 0x00, -			       sizeof(kernel_lb_addr)); +				inode->i_sb->s_blocksize; +			memset(&laarr[c].extLocation, 0x00, sizeof(kernel_lb_addr));  			count++;  			endnum++;  		} @@ -618,8 +611,7 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  		}  		/* if the current block is located in an extent, read the next extent */ -		if ((etype = -		     udf_next_aext(inode, &next_epos, &eloc, &elen, 0)) != -1) { +		if ((etype = udf_next_aext(inode, &next_epos, &eloc, &elen, 0)) != -1) {  			laarr[c + 1].extLength = (etype << 30) | elen;  			laarr[c + 1].extLocation = eloc;  			count++; @@ -631,24 +623,21 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  	}  	/* if the current extent is not recorded but allocated, get the -	   block in the extent corresponding to the requested block */ -	if ((laarr[c].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30)) +	 * block in the extent corresponding to the requested block */ +	if ((laarr[c].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30)) {  		newblocknum = laarr[c].extLocation.logicalBlockNum + offset; -	else {			/* otherwise, allocate a new block */ - +	} else { /* otherwise, allocate a new block */  		if (UDF_I_NEXT_ALLOC_BLOCK(inode) == block)  			goal = UDF_I_NEXT_ALLOC_GOAL(inode);  		if (!goal) {  			if (!(goal = pgoal)) -				goal = -				    UDF_I_LOCATION(inode).logicalBlockNum + 1; +				goal = UDF_I_LOCATION(inode).logicalBlockNum + 1;  		}  		if (!(newblocknum = udf_new_block(inode->i_sb, inode, -						  UDF_I_LOCATION(inode). -						  partitionReferenceNum, goal, -						  err))) { +						  UDF_I_LOCATION(inode).partitionReferenceNum, +						  goal, err))) {  			brelse(prev_epos.bh);  			*err = -ENOSPC;  			return NULL; @@ -657,8 +646,8 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  	}  	/* if the extent the requsted block is located in contains multiple blocks, -	   split the extent into at most three extents. blocks prior to requested -	   block, requested block, and blocks after requested block */ +	 * split the extent into at most three extents. blocks prior to requested +	 * block, requested block, and blocks after requested block */  	udf_split_extents(inode, &c, offset, newblocknum, laarr, &endnum);  #ifdef UDF_PREALLOCATE @@ -670,15 +659,14 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  	udf_merge_extents(inode, laarr, &endnum);  	/* write back the new extents, inserting new extents if the new number -	   of extents is greater than the old number, and deleting extents if -	   the new number of extents is less than the old number */ +	 * of extents is greater than the old number, and deleting extents if +	 * the new number of extents is less than the old number */  	udf_update_extents(inode, laarr, startnum, endnum, &prev_epos);  	brelse(prev_epos.bh);  	if (!(newblock = udf_get_pblock(inode->i_sb, newblocknum, -					UDF_I_LOCATION(inode). -					partitionReferenceNum, 0))) { +					UDF_I_LOCATION(inode).partitionReferenceNum, 0))) {  		return NULL;  	}  	*phys = newblock; @@ -692,6 +680,7 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,  		udf_sync_inode(inode);  	else  		mark_inode_dirty(inode); +  	return result;  } @@ -701,16 +690,15 @@ static void udf_split_extents(struct inode *inode, int *c, int offset,  			      int *endnum)  {  	if ((laarr[*c].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30) || -	    (laarr[*c].extLength >> 30) == -	    (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30)) { +	    (laarr[*c].extLength >> 30) == (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30)) {  		int curr = *c;  		int blen = ((laarr[curr].extLength & UDF_EXTENT_LENGTH_MASK) + -			    inode->i_sb->s_blocksize - -			    1) >> inode->i_sb->s_blocksize_bits; +			    inode->i_sb->s_blocksize - 1) >> inode->i_sb->s_blocksize_bits;  		int8_t etype = (laarr[curr].extLength >> 30); -		if (blen == 1) ; -		else if (!offset || blen == offset + 1) { +		if (blen == 1) { +			; +		} else if (!offset || blen == offset + 1) {  			laarr[curr + 2] = laarr[curr + 1];  			laarr[curr + 1] = laarr[curr];  		} else { @@ -720,20 +708,15 @@ static void udf_split_extents(struct inode *inode, int *c, int offset,  		if (offset) {  			if (etype == (EXT_NOT_RECORDED_ALLOCATED >> 30)) { -				udf_free_blocks(inode->i_sb, inode, -						laarr[curr].extLocation, 0, -						offset); -				laarr[curr].extLength = -				    EXT_NOT_RECORDED_NOT_ALLOCATED | (offset << -								      inode-> -								      i_sb-> -								      s_blocksize_bits); +				udf_free_blocks(inode->i_sb, inode, laarr[curr].extLocation, 0, offset); +				laarr[curr].extLength = EXT_NOT_RECORDED_NOT_ALLOCATED | +					(offset << inode->i_sb->s_blocksize_bits);  				laarr[curr].extLocation.logicalBlockNum = 0; -				laarr[curr].extLocation.partitionReferenceNum = -				    0; -			} else +				laarr[curr].extLocation.partitionReferenceNum = 0; +			} else {  				laarr[curr].extLength = (etype << 30) | -				    (offset << inode->i_sb->s_blocksize_bits); +					(offset << inode->i_sb->s_blocksize_bits); +			}  			curr++;  			(*c)++;  			(*endnum)++; @@ -742,18 +725,16 @@ static void udf_split_extents(struct inode *inode, int *c, int offset,  		laarr[curr].extLocation.logicalBlockNum = newblocknum;  		if (etype == (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30))  			laarr[curr].extLocation.partitionReferenceNum = -			    UDF_I_LOCATION(inode).partitionReferenceNum; +				UDF_I_LOCATION(inode).partitionReferenceNum;  		laarr[curr].extLength = EXT_RECORDED_ALLOCATED | -		    inode->i_sb->s_blocksize; +			inode->i_sb->s_blocksize;  		curr++;  		if (blen != offset + 1) {  			if (etype == (EXT_NOT_RECORDED_ALLOCATED >> 30)) -				laarr[curr].extLocation.logicalBlockNum += -				    (offset + 1); -			laarr[curr].extLength = -			    (etype << 30) | ((blen - (offset + 1)) << inode-> -					     i_sb->s_blocksize_bits); +				laarr[curr].extLocation.logicalBlockNum += (offset + 1); +			laarr[curr].extLength = (etype << 30) | +				((blen - (offset + 1)) << inode->i_sb->s_blocksize_bits);  			curr++;  			(*endnum)++;  		} @@ -772,90 +753,69 @@ static void udf_prealloc_extents(struct inode *inode, int c, int lastblock,  		else  			start = c;  	} else { -		if ((laarr[c + 1].extLength >> 30) == -		    (EXT_NOT_RECORDED_ALLOCATED >> 30)) { +		if ((laarr[c + 1].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30)) {  			start = c + 1; -			length = currlength = -			    (((laarr[c + 1]. -			       extLength & UDF_EXTENT_LENGTH_MASK) + -			      inode->i_sb->s_blocksize - -			      1) >> inode->i_sb->s_blocksize_bits); -		} else +			length = currlength = (((laarr[c + 1].extLength & UDF_EXTENT_LENGTH_MASK) + +						inode->i_sb->s_blocksize - 1) >> inode->i_sb->s_blocksize_bits); +		} else {  			start = c; +		}  	}  	for (i = start + 1; i <= *endnum; i++) {  		if (i == *endnum) {  			if (lastblock)  				length += UDF_DEFAULT_PREALLOC_BLOCKS; -		} else if ((laarr[i].extLength >> 30) == -			   (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30)) -			length += -			    (((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + -			      inode->i_sb->s_blocksize - -			      1) >> inode->i_sb->s_blocksize_bits); -		else +		} else if ((laarr[i].extLength >> 30) == (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30)) { +			length += (((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + +				    inode->i_sb->s_blocksize - 1) >> inode->i_sb->s_blocksize_bits); +		} else {  			break; +		}  	}  	if (length) {  		int next = laarr[start].extLocation.logicalBlockNum + -		    (((laarr[start].extLength & UDF_EXTENT_LENGTH_MASK) + -		      inode->i_sb->s_blocksize - -		      1) >> inode->i_sb->s_blocksize_bits); +			(((laarr[start].extLength & UDF_EXTENT_LENGTH_MASK) + +			  inode->i_sb->s_blocksize - 1) >> inode->i_sb->s_blocksize_bits);  		int numalloc = udf_prealloc_blocks(inode->i_sb, inode, -						   laarr[start].extLocation. -						   partitionReferenceNum, -						   next, -						   (UDF_DEFAULT_PREALLOC_BLOCKS -						    > -						    length ? length : -						    UDF_DEFAULT_PREALLOC_BLOCKS) -						   - currlength); - -		if (numalloc) { -			if (start == (c + 1)) +						   laarr[start].extLocation.partitionReferenceNum, +						   next, (UDF_DEFAULT_PREALLOC_BLOCKS > length ? length : +							  UDF_DEFAULT_PREALLOC_BLOCKS) - currlength); +		if (numalloc) 	{ +			if (start == (c + 1)) {  				laarr[start].extLength += -				    (numalloc << inode->i_sb->s_blocksize_bits); -			else { +					(numalloc << inode->i_sb->s_blocksize_bits); +			} else {  				memmove(&laarr[c + 2], &laarr[c + 1],  					sizeof(long_ad) * (*endnum - (c + 1)));  				(*endnum)++;  				laarr[c + 1].extLocation.logicalBlockNum = next;  				laarr[c + 1].extLocation.partitionReferenceNum = -				    laarr[c].extLocation.partitionReferenceNum; -				laarr[c + 1].extLength = -				    EXT_NOT_RECORDED_ALLOCATED | (numalloc << -								  inode->i_sb-> -								  s_blocksize_bits); +					laarr[c].extLocation.partitionReferenceNum; +				laarr[c + 1].extLength = EXT_NOT_RECORDED_ALLOCATED | +					(numalloc << inode->i_sb->s_blocksize_bits);  				start = c + 1;  			}  			for (i = start + 1; numalloc && i < *endnum; i++) { -				int elen = -				    ((laarr[i]. -				      extLength & UDF_EXTENT_LENGTH_MASK) + -				     inode->i_sb->s_blocksize - -				     1) >> inode->i_sb->s_blocksize_bits; +				int elen = ((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + +					    inode->i_sb->s_blocksize - 1) >> inode->i_sb->s_blocksize_bits;  				if (elen > numalloc) {  					laarr[i].extLength -= -					    (numalloc << inode->i_sb-> -					     s_blocksize_bits); +						(numalloc << inode->i_sb->s_blocksize_bits);  					numalloc = 0;  				} else {  					numalloc -= elen;  					if (*endnum > (i + 1)) -						memmove(&laarr[i], -							&laarr[i + 1], -							sizeof(long_ad) * -							(*endnum - (i + 1))); +						memmove(&laarr[i], &laarr[i + 1], +							sizeof(long_ad) * (*endnum - (i + 1)));  					i--;  					(*endnum)--;  				}  			} -			UDF_I_LENEXTENTS(inode) += -			    numalloc << inode->i_sb->s_blocksize_bits; +			UDF_I_LENEXTENTS(inode) += numalloc << inode->i_sb->s_blocksize_bits;  		}  	}  } @@ -867,119 +827,68 @@ static void udf_merge_extents(struct inode *inode,  	int i;  	for (i = 0; i < (*endnum - 1); i++) { -		if ((laarr[i].extLength >> 30) == -		    (laarr[i + 1].extLength >> 30)) { -			if (((laarr[i].extLength >> 30) == -			     (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30)) -			    || -			    ((laarr[i + 1].extLocation.logicalBlockNum - -			      laarr[i].extLocation.logicalBlockNum) == +		if ((laarr[i].extLength >> 30) == (laarr[i + 1].extLength >> 30)) { +			if (((laarr[i].extLength >> 30) == (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30)) || +			    ((laarr[i + 1].extLocation.logicalBlockNum - laarr[i].extLocation.logicalBlockNum) ==  			     (((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + -			       inode->i_sb->s_blocksize - -			       1) >> inode->i_sb->s_blocksize_bits))) { -				if (((laarr[i]. -				      extLength & UDF_EXTENT_LENGTH_MASK) + -				     (laarr[i + 1]. -				      extLength & UDF_EXTENT_LENGTH_MASK) + -				     inode->i_sb->s_blocksize - -				     1) & ~UDF_EXTENT_LENGTH_MASK) { -					laarr[i + 1].extLength = -					    (laarr[i + 1].extLength - -					     (laarr[i]. -					      extLength & -					      UDF_EXTENT_LENGTH_MASK) + -					     UDF_EXTENT_LENGTH_MASK) & ~(inode-> -									 i_sb-> -									 s_blocksize -									 - 1); -					laarr[i].extLength = -					    (laarr[i]. -					     extLength & UDF_EXTENT_FLAG_MASK) + -					    (UDF_EXTENT_LENGTH_MASK + 1) - -					    inode->i_sb->s_blocksize; -					laarr[i + -					      1].extLocation.logicalBlockNum = -					    laarr[i].extLocation. -					    logicalBlockNum + -					    ((laarr[i]. -					      extLength & -					      UDF_EXTENT_LENGTH_MASK) >> inode-> -					     i_sb->s_blocksize_bits); +			       inode->i_sb->s_blocksize - 1) >> inode->i_sb->s_blocksize_bits))) { +				if (((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + +				     (laarr[i + 1].extLength & UDF_EXTENT_LENGTH_MASK) + +				     inode->i_sb->s_blocksize - 1) & ~UDF_EXTENT_LENGTH_MASK) { +					laarr[i + 1].extLength = (laarr[i + 1].extLength - +								  (laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + +								  UDF_EXTENT_LENGTH_MASK) & ~(inode->i_sb->s_blocksize - 1); +					laarr[i].extLength = (laarr[i].extLength & UDF_EXTENT_FLAG_MASK) + +						(UDF_EXTENT_LENGTH_MASK + 1) - inode->i_sb->s_blocksize; +					laarr[i + 1].extLocation.logicalBlockNum = +						laarr[i].extLocation.logicalBlockNum + +						((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) >> +						 inode->i_sb->s_blocksize_bits);  				} else { -					laarr[i].extLength = -					    laarr[i + 1].extLength + -					    (((laarr[i]. -					       extLength & -					       UDF_EXTENT_LENGTH_MASK) + -					      inode->i_sb->s_blocksize - -					      1) & ~(inode->i_sb->s_blocksize - -						     1)); +					laarr[i].extLength = laarr[i + 1].extLength + +						(((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + +						  inode->i_sb->s_blocksize - 1) & ~(inode->i_sb->s_blocksize - 1));  					if (*endnum > (i + 2)) -						memmove(&laarr[i + 1], -							&laarr[i + 2], -							sizeof(long_ad) * -							(*endnum - (i + 2))); +						memmove(&laarr[i + 1], &laarr[i + 2], +							sizeof(long_ad) * (*endnum - (i + 2)));  					i--;  					(*endnum)--;  				}  			} -		} else -		    if (((laarr[i].extLength >> 30) == -			 (EXT_NOT_RECORDED_ALLOCATED >> 30)) -			&& ((laarr[i + 1].extLength >> 30) == -			    (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30))) { -			udf_free_blocks(inode->i_sb, inode, -					laarr[i].extLocation, 0, -					((laarr[i]. -					  extLength & UDF_EXTENT_LENGTH_MASK) + -					 inode->i_sb->s_blocksize - -					 1) >> inode->i_sb->s_blocksize_bits); +		} else if (((laarr[i].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30)) && +			   ((laarr[i + 1].extLength >> 30) == (EXT_NOT_RECORDED_NOT_ALLOCATED >> 30))) { +			udf_free_blocks(inode->i_sb, inode, laarr[i].extLocation, 0, +					((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + +					 inode->i_sb->s_blocksize - 1) >> inode->i_sb->s_blocksize_bits);  			laarr[i].extLocation.logicalBlockNum = 0;  			laarr[i].extLocation.partitionReferenceNum = 0;  			if (((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) +  			     (laarr[i + 1].extLength & UDF_EXTENT_LENGTH_MASK) + -			     inode->i_sb->s_blocksize - -			     1) & ~UDF_EXTENT_LENGTH_MASK) { -				laarr[i + 1].extLength = -				    (laarr[i + 1].extLength - -				     (laarr[i]. -				      extLength & UDF_EXTENT_LENGTH_MASK) + -				     UDF_EXTENT_LENGTH_MASK) & ~(inode->i_sb-> -								 s_blocksize - -								 1); -				laarr[i].extLength = -				    (laarr[i]. -				     extLength & UDF_EXTENT_FLAG_MASK) + -				    (UDF_EXTENT_LENGTH_MASK + 1) - -				    inode->i_sb->s_blocksize; +			     inode->i_sb->s_blocksize - 1) & ~UDF_EXTENT_LENGTH_MASK) { +				laarr[i + 1].extLength = (laarr[i + 1].extLength - +							  (laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + +							  UDF_EXTENT_LENGTH_MASK) & ~(inode->i_sb->s_blocksize - 1); +				laarr[i].extLength = (laarr[i].extLength & UDF_EXTENT_FLAG_MASK) + +					(UDF_EXTENT_LENGTH_MASK + 1) - inode->i_sb->s_blocksize;  			} else {  				laarr[i].extLength = laarr[i + 1].extLength + -				    (((laarr[i]. -				       extLength & UDF_EXTENT_LENGTH_MASK) + -				      inode->i_sb->s_blocksize - -				      1) & ~(inode->i_sb->s_blocksize - 1)); +					(((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + +					  inode->i_sb->s_blocksize - 1) & ~(inode->i_sb->s_blocksize - 1));  				if (*endnum > (i + 2))  					memmove(&laarr[i + 1], &laarr[i + 2], -						sizeof(long_ad) * (*endnum - -								   (i + 2))); +						sizeof(long_ad) * (*endnum - (i + 2)));  				i--;  				(*endnum)--;  			} -		} else if ((laarr[i].extLength >> 30) == -			   (EXT_NOT_RECORDED_ALLOCATED >> 30)) { -			udf_free_blocks(inode->i_sb, inode, -					laarr[i].extLocation, 0, -					((laarr[i]. -					  extLength & UDF_EXTENT_LENGTH_MASK) + -					 inode->i_sb->s_blocksize - -					 1) >> inode->i_sb->s_blocksize_bits); +		} else if ((laarr[i].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30)) { +			udf_free_blocks(inode->i_sb, inode, laarr[i].extLocation, 0, +					((laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) + +					 inode->i_sb->s_blocksize - 1) >> inode->i_sb->s_blocksize_bits);  			laarr[i].extLocation.logicalBlockNum = 0;  			laarr[i].extLocation.partitionReferenceNum = 0; -			laarr[i].extLength = -			    (laarr[i]. -			     extLength & UDF_EXTENT_LENGTH_MASK) | -			    EXT_NOT_RECORDED_NOT_ALLOCATED; +			laarr[i].extLength = (laarr[i].extLength & UDF_EXTENT_LENGTH_MASK) | +				EXT_NOT_RECORDED_NOT_ALLOCATED;  		}  	}  } @@ -1025,10 +934,13 @@ struct buffer_head *udf_bread(struct inode *inode, int block,  	if (buffer_uptodate(bh))  		return bh; +  	ll_rw_block(READ, 1, &bh); +  	wait_on_buffer(bh);  	if (buffer_uptodate(bh))  		return bh; +  	brelse(bh);  	*err = -EIO;  	return NULL; @@ -1047,26 +959,24 @@ void udf_truncate(struct inode *inode)  	lock_kernel();  	if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB) { -		if (inode->i_sb->s_blocksize < -		    (udf_file_entry_alloc_offset(inode) + inode->i_size)) { +		if (inode->i_sb->s_blocksize < (udf_file_entry_alloc_offset(inode) + +						inode->i_size)) {  			udf_expand_file_adinicb(inode, inode->i_size, &err);  			if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB) {  				inode->i_size = UDF_I_LENALLOC(inode);  				unlock_kernel();  				return; -			} else +			} else {  				udf_truncate_extents(inode); +			}  		} else {  			offset = inode->i_size & (inode->i_sb->s_blocksize - 1); -			memset(UDF_I_DATA(inode) + UDF_I_LENEATTR(inode) + -			       offset, 0x00, -			       inode->i_sb->s_blocksize - offset - -			       udf_file_entry_alloc_offset(inode)); +			memset(UDF_I_DATA(inode) + UDF_I_LENEATTR(inode) + offset, 0x00, +			       inode->i_sb->s_blocksize - offset - udf_file_entry_alloc_offset(inode));  			UDF_I_LENALLOC(inode) = inode->i_size;  		}  	} else { -		block_truncate_page(inode->i_mapping, inode->i_size, -				    udf_get_block); +		block_truncate_page(inode->i_mapping, inode->i_size, udf_get_block);  		udf_truncate_extents(inode);  	} @@ -1097,7 +1007,6 @@ static void __udf_read_inode(struct inode *inode)  	 *      i_op = NULL;  	 */  	bh = udf_read_ptagged(inode->i_sb, UDF_I_LOCATION(inode), 0, &ident); -  	if (!bh) {  		printk(KERN_ERR "udf: udf_read_inode(ino %ld) failed !bh\n",  		       inode->i_ino); @@ -1107,8 +1016,7 @@ static void __udf_read_inode(struct inode *inode)  	if (ident != TAG_IDENT_FE && ident != TAG_IDENT_EFE &&  	    ident != TAG_IDENT_USE) { -		printk(KERN_ERR -		       "udf: udf_read_inode(ino %ld) failed ident=%d\n", +		printk(KERN_ERR "udf: udf_read_inode(ino %ld) failed ident=%d\n",  		       inode->i_ino, ident);  		brelse(bh);  		make_bad_inode(inode); @@ -1121,9 +1029,7 @@ static void __udf_read_inode(struct inode *inode)  		struct buffer_head *ibh = NULL, *nbh = NULL;  		struct indirectEntry *ie; -		ibh = -		    udf_read_ptagged(inode->i_sb, UDF_I_LOCATION(inode), 1, -				     &ident); +		ibh = udf_read_ptagged(inode->i_sb, UDF_I_LOCATION(inode), 1, &ident);  		if (ident == TAG_IDENT_IE) {  			if (ibh) {  				kernel_lb_addr loc; @@ -1132,13 +1038,10 @@ static void __udf_read_inode(struct inode *inode)  				loc = lelb_to_cpu(ie->indirectICB.extLocation);  				if (ie->indirectICB.extLength && -				    (nbh = -				     udf_read_ptagged(inode->i_sb, loc, 0, -						      &ident))) { -					if (ident == TAG_IDENT_FE -					    || ident == TAG_IDENT_EFE) { -						memcpy(&UDF_I_LOCATION(inode), -						       &loc, +				    (nbh = udf_read_ptagged(inode->i_sb, loc, 0, &ident))) { +					if (ident == TAG_IDENT_FE || +					    ident == TAG_IDENT_EFE) { +						memcpy(&UDF_I_LOCATION(inode), &loc,  						       sizeof(kernel_lb_addr));  						brelse(bh);  						brelse(ibh); @@ -1149,11 +1052,13 @@ static void __udf_read_inode(struct inode *inode)  						brelse(nbh);  						brelse(ibh);  					} -				} else +				} else {  					brelse(ibh); +				}  			} -		} else +		} else {  			brelse(ibh); +		}  	} else if (le16_to_cpu(fe->icbTag.strategyType) != 4) {  		printk(KERN_ERR "udf: unsupported strategy type: %d\n",  		       le16_to_cpu(fe->icbTag.strategyType)); @@ -1179,11 +1084,10 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)  	if (le16_to_cpu(fe->icbTag.strategyType) == 4)  		UDF_I_STRAT4096(inode) = 0; -	else			/* if (le16_to_cpu(fe->icbTag.strategyType) == 4096) */ +	else /* if (le16_to_cpu(fe->icbTag.strategyType) == 4096) */  		UDF_I_STRAT4096(inode) = 1; -	UDF_I_ALLOCTYPE(inode) = -	    le16_to_cpu(fe->icbTag.flags) & ICBTAG_FLAG_AD_MASK; +	UDF_I_ALLOCTYPE(inode) = le16_to_cpu(fe->icbTag.flags) & ICBTAG_FLAG_AD_MASK;  	UDF_I_UNIQUE(inode) = 0;  	UDF_I_LENEATTR(inode) = 0;  	UDF_I_LENEXTENTS(inode) = 0; @@ -1193,23 +1097,16 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)  	if (le16_to_cpu(fe->descTag.tagIdent) == TAG_IDENT_EFE) {  		UDF_I_EFE(inode) = 1;  		UDF_I_USE(inode) = 0; -		if (udf_alloc_i_data -		    (inode, -		     inode->i_sb->s_blocksize - -		     sizeof(struct extendedFileEntry))) { +		if (udf_alloc_i_data(inode, inode->i_sb->s_blocksize - sizeof(struct extendedFileEntry))) {  			make_bad_inode(inode);  			return;  		} -		memcpy(UDF_I_DATA(inode), -		       bh->b_data + sizeof(struct extendedFileEntry), -		       inode->i_sb->s_blocksize - -		       sizeof(struct extendedFileEntry)); +		memcpy(UDF_I_DATA(inode), bh->b_data + sizeof(struct extendedFileEntry), +		       inode->i_sb->s_blocksize - sizeof(struct extendedFileEntry));  	} else if (le16_to_cpu(fe->descTag.tagIdent) == TAG_IDENT_FE) {  		UDF_I_EFE(inode) = 0;  		UDF_I_USE(inode) = 0; -		if (udf_alloc_i_data -		    (inode, -		     inode->i_sb->s_blocksize - sizeof(struct fileEntry))) { +		if (udf_alloc_i_data(inode, inode->i_sb->s_blocksize - sizeof(struct fileEntry))) {  			make_bad_inode(inode);  			return;  		} @@ -1219,19 +1116,13 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)  		UDF_I_EFE(inode) = 0;  		UDF_I_USE(inode) = 1;  		UDF_I_LENALLOC(inode) = -		    le32_to_cpu(((struct unallocSpaceEntry *)bh->b_data)-> -				lengthAllocDescs); -		if (udf_alloc_i_data -		    (inode, -		     inode->i_sb->s_blocksize - -		     sizeof(struct unallocSpaceEntry))) { +		    le32_to_cpu(((struct unallocSpaceEntry *)bh->b_data)->lengthAllocDescs); +		if (udf_alloc_i_data(inode, inode->i_sb->s_blocksize - sizeof(struct unallocSpaceEntry))) {  			make_bad_inode(inode);  			return;  		} -		memcpy(UDF_I_DATA(inode), -		       bh->b_data + sizeof(struct unallocSpaceEntry), -		       inode->i_sb->s_blocksize - -		       sizeof(struct unallocSpaceEntry)); +		memcpy(UDF_I_DATA(inode), bh->b_data + sizeof(struct unallocSpaceEntry), +		       inode->i_sb->s_blocksize - sizeof(struct unallocSpaceEntry));  		return;  	} @@ -1257,7 +1148,7 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)  	if (UDF_I_EFE(inode) == 0) {  		inode->i_blocks = le64_to_cpu(fe->logicalBlocksRecorded) << -		    (inode->i_sb->s_blocksize_bits - 9); +			(inode->i_sb->s_blocksize_bits - 9);  		if (udf_stamp_to_time(&convtime, &convtime_usec,  				      lets_to_cpu(fe->accessTime))) { @@ -1326,78 +1217,56 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)  		UDF_I_UNIQUE(inode) = le64_to_cpu(efe->uniqueID);  		UDF_I_LENEATTR(inode) = le32_to_cpu(efe->lengthExtendedAttr);  		UDF_I_LENALLOC(inode) = le32_to_cpu(efe->lengthAllocDescs); -		offset = -		    sizeof(struct extendedFileEntry) + UDF_I_LENEATTR(inode); +		offset = sizeof(struct extendedFileEntry) + UDF_I_LENEATTR(inode);  	}  	switch (fe->icbTag.fileType) {  	case ICBTAG_FILE_TYPE_DIRECTORY: -		{ -			inode->i_op = &udf_dir_inode_operations; -			inode->i_fop = &udf_dir_operations; -			inode->i_mode |= S_IFDIR; -			inc_nlink(inode); -			break; -		} +		inode->i_op = &udf_dir_inode_operations; +		inode->i_fop = &udf_dir_operations; +		inode->i_mode |= S_IFDIR; +		inc_nlink(inode); +		break;  	case ICBTAG_FILE_TYPE_REALTIME:  	case ICBTAG_FILE_TYPE_REGULAR:  	case ICBTAG_FILE_TYPE_UNDEF: -		{ -			if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB) -				inode->i_data.a_ops = &udf_adinicb_aops; -			else -				inode->i_data.a_ops = &udf_aops; -			inode->i_op = &udf_file_inode_operations; -			inode->i_fop = &udf_file_operations; -			inode->i_mode |= S_IFREG; -			break; -		} +		if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB) +			inode->i_data.a_ops = &udf_adinicb_aops; +		else +			inode->i_data.a_ops = &udf_aops; +		inode->i_op = &udf_file_inode_operations; +		inode->i_fop = &udf_file_operations; +		inode->i_mode |= S_IFREG; +		break;  	case ICBTAG_FILE_TYPE_BLOCK: -		{ -			inode->i_mode |= S_IFBLK; -			break; -		} +		inode->i_mode |= S_IFBLK; +		break;  	case ICBTAG_FILE_TYPE_CHAR: -		{ -			inode->i_mode |= S_IFCHR; -			break; -		} +		inode->i_mode |= S_IFCHR; +		break;  	case ICBTAG_FILE_TYPE_FIFO: -		{ -			init_special_inode(inode, inode->i_mode | S_IFIFO, 0); -			break; -		} +		init_special_inode(inode, inode->i_mode | S_IFIFO, 0); +		break;  	case ICBTAG_FILE_TYPE_SOCKET: -		{ -			init_special_inode(inode, inode->i_mode | S_IFSOCK, 0); -			break; -		} +		init_special_inode(inode, inode->i_mode | S_IFSOCK, 0); +		break;  	case ICBTAG_FILE_TYPE_SYMLINK: -		{ -			inode->i_data.a_ops = &udf_symlink_aops; -			inode->i_op = &page_symlink_inode_operations; -			inode->i_mode = S_IFLNK | S_IRWXUGO; -			break; -		} +		inode->i_data.a_ops = &udf_symlink_aops; +		inode->i_op = &page_symlink_inode_operations; +		inode->i_mode = S_IFLNK | S_IRWXUGO; +		break;  	default: -		{ -			printk(KERN_ERR -			       "udf: udf_fill_inode(ino %ld) failed unknown file type=%d\n", -			       inode->i_ino, fe->icbTag.fileType); -			make_bad_inode(inode); -			return; -		} +		printk(KERN_ERR "udf: udf_fill_inode(ino %ld) failed unknown file type=%d\n", +		       inode->i_ino, fe->icbTag.fileType); +		make_bad_inode(inode); +		return;  	}  	if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) { -		struct deviceSpec *dsea = (struct deviceSpec *) -		    udf_get_extendedattr(inode, 12, 1); - +		struct deviceSpec *dsea = (struct deviceSpec *)udf_get_extendedattr(inode, 12, 1);  		if (dsea) {  			init_special_inode(inode, inode->i_mode, -					   MKDEV(le32_to_cpu -						 (dsea->majorDeviceIdent), -						 le32_to_cpu(dsea-> -							     minorDeviceIdent))); +					   MKDEV(le32_to_cpu(dsea->majorDeviceIdent), +						 le32_to_cpu(dsea->minorDeviceIdent)));  			/* Developer ID ??? */  		} else {  			make_bad_inode(inode); @@ -1410,8 +1279,7 @@ static int udf_alloc_i_data(struct inode *inode, size_t size)  	UDF_I_DATA(inode) = kmalloc(size, GFP_KERNEL);  	if (!UDF_I_DATA(inode)) { -		printk(KERN_ERR -		       "udf:udf_alloc_i_data (ino %ld) no free memory\n", +		printk(KERN_ERR "udf:udf_alloc_i_data (ino %ld) no free memory\n",  		       inode->i_ino);  		return -ENOMEM;  	} @@ -1428,12 +1296,12 @@ static mode_t udf_convert_permissions(struct fileEntry *fe)  	permissions = le32_to_cpu(fe->permissions);  	flags = le16_to_cpu(fe->icbTag.flags); -	mode = ((permissions) & S_IRWXO) | -	    ((permissions >> 2) & S_IRWXG) | -	    ((permissions >> 4) & S_IRWXU) | -	    ((flags & ICBTAG_FLAG_SETUID) ? S_ISUID : 0) | -	    ((flags & ICBTAG_FLAG_SETGID) ? S_ISGID : 0) | -	    ((flags & ICBTAG_FLAG_STICKY) ? S_ISVTX : 0); +	mode =	(( permissions      ) & S_IRWXO) | +		(( permissions >> 2 ) & S_IRWXG) | +		(( permissions >> 4 ) & S_IRWXU) | +		(( flags & ICBTAG_FLAG_SETUID) ? S_ISUID : 0) | +		(( flags & ICBTAG_FLAG_SETGID) ? S_ISGID : 0) | +		(( flags & ICBTAG_FLAG_STICKY) ? S_ISVTX : 0);  	return mode;  } @@ -1456,9 +1324,11 @@ static mode_t udf_convert_permissions(struct fileEntry *fe)  int udf_write_inode(struct inode *inode, int sync)  {  	int ret; +  	lock_kernel();  	ret = udf_update_inode(inode, sync);  	unlock_kernel(); +  	return ret;  } @@ -1479,10 +1349,7 @@ static int udf_update_inode(struct inode *inode, int do_sync)  	kernel_timestamp cpu_time;  	int err = 0; -	bh = udf_tread(inode->i_sb, -		       udf_get_lb_pblock(inode->i_sb, UDF_I_LOCATION(inode), -					 0)); - +	bh = udf_tread(inode->i_sb, udf_get_lb_pblock(inode->i_sb, UDF_I_LOCATION(inode), 0));  	if (!bh) {  		udf_debug("bread failure\n");  		return -EIO; @@ -1495,27 +1362,21 @@ static int udf_update_inode(struct inode *inode, int do_sync)  	if (le16_to_cpu(fe->descTag.tagIdent) == TAG_IDENT_USE) {  		struct unallocSpaceEntry *use = -		    (struct unallocSpaceEntry *)bh->b_data; +			(struct unallocSpaceEntry *)bh->b_data;  		use->lengthAllocDescs = cpu_to_le32(UDF_I_LENALLOC(inode)); -		memcpy(bh->b_data + sizeof(struct unallocSpaceEntry), -		       UDF_I_DATA(inode), -		       inode->i_sb->s_blocksize - -		       sizeof(struct unallocSpaceEntry)); -		crclen = -		    sizeof(struct unallocSpaceEntry) + UDF_I_LENALLOC(inode) - -		    sizeof(tag); -		use->descTag.tagLocation = -		    cpu_to_le32(UDF_I_LOCATION(inode).logicalBlockNum); +		memcpy(bh->b_data + sizeof(struct unallocSpaceEntry), UDF_I_DATA(inode), +		       inode->i_sb->s_blocksize - sizeof(struct unallocSpaceEntry)); +		crclen = sizeof(struct unallocSpaceEntry) + UDF_I_LENALLOC(inode) - sizeof(tag); +		use->descTag.tagLocation = cpu_to_le32(UDF_I_LOCATION(inode).logicalBlockNum);  		use->descTag.descCRCLength = cpu_to_le16(crclen); -		use->descTag.descCRC = -		    cpu_to_le16(udf_crc((char *)use + sizeof(tag), crclen, 0)); +		use->descTag.descCRC = cpu_to_le16(udf_crc((char *)use + sizeof(tag), crclen, 0));  		use->descTag.tagChecksum = 0; -		for (i = 0; i < 16; i++) +		for (i = 0; i < 16; i++) {  			if (i != 4) -				use->descTag.tagChecksum += -				    ((uint8_t *) & (use->descTag))[i]; +				use->descTag.tagChecksum += ((uint8_t *)&(use->descTag))[i]; +		}  		mark_buffer_dirty(bh);  		brelse(bh); @@ -1532,13 +1393,14 @@ static int udf_update_inode(struct inode *inode, int do_sync)  	else  		fe->gid = cpu_to_le32(inode->i_gid); -	udfperms = ((inode->i_mode & S_IRWXO)) | -	    ((inode->i_mode & S_IRWXG) << 2) | ((inode->i_mode & S_IRWXU) << 4); +	udfperms =	((inode->i_mode & S_IRWXO)     ) | +			((inode->i_mode & S_IRWXG) << 2) | +			((inode->i_mode & S_IRWXU) << 4); -	udfperms |= (le32_to_cpu(fe->permissions) & -		     (FE_PERM_O_DELETE | FE_PERM_O_CHATTR | -		      FE_PERM_G_DELETE | FE_PERM_G_CHATTR | -		      FE_PERM_U_DELETE | FE_PERM_U_CHATTR)); +	udfperms |=	(le32_to_cpu(fe->permissions) & +			(FE_PERM_O_DELETE | FE_PERM_O_CHATTR | +			 FE_PERM_G_DELETE | FE_PERM_G_CHATTR | +			 FE_PERM_U_DELETE | FE_PERM_U_CHATTR));  	fe->permissions = cpu_to_le32(udfperms);  	if (S_ISDIR(inode->i_mode)) @@ -1550,22 +1412,20 @@ static int udf_update_inode(struct inode *inode, int do_sync)  	if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) {  		regid *eid; -		struct deviceSpec *dsea = (struct deviceSpec *) -		    udf_get_extendedattr(inode, 12, 1); - +		struct deviceSpec *dsea = +			(struct deviceSpec *)udf_get_extendedattr(inode, 12, 1);  		if (!dsea) {  			dsea = (struct deviceSpec *) -			    udf_add_extendedattr(inode, -						 sizeof(struct deviceSpec) + -						 sizeof(regid), 12, 0x3); +				udf_add_extendedattr(inode, +						     sizeof(struct deviceSpec) + +						     sizeof(regid), 12, 0x3);  			dsea->attrType = cpu_to_le32(12);  			dsea->attrSubtype = 1; -			dsea->attrLength = -			    cpu_to_le32(sizeof(struct deviceSpec) + -					sizeof(regid)); +			dsea->attrLength = cpu_to_le32(sizeof(struct deviceSpec) + +						       sizeof(regid));  			dsea->impUseLength = cpu_to_le32(sizeof(regid));  		} -		eid = (regid *) dsea->impUse; +		eid = (regid *)dsea->impUse;  		memset(eid, 0, sizeof(regid));  		strcpy(eid->ident, UDF_ID_DEVELOPER);  		eid->identSuffix[0] = UDF_OS_CLASS_UNIX; @@ -1577,10 +1437,9 @@ static int udf_update_inode(struct inode *inode, int do_sync)  	if (UDF_I_EFE(inode) == 0) {  		memcpy(bh->b_data + sizeof(struct fileEntry), UDF_I_DATA(inode),  		       inode->i_sb->s_blocksize - sizeof(struct fileEntry)); -		fe->logicalBlocksRecorded = -		    cpu_to_le64((inode->i_blocks + -				 (1 << (inode->i_sb->s_blocksize_bits - 9)) - -				 1) >> (inode->i_sb->s_blocksize_bits - 9)); +		fe->logicalBlocksRecorded = cpu_to_le64( +			(inode->i_blocks + (1 << (inode->i_sb->s_blocksize_bits - 9)) - 1) >> +			(inode->i_sb->s_blocksize_bits - 9));  		if (udf_time_to_stamp(&cpu_time, inode->i_atime))  			fe->accessTime = cpu_to_lets(cpu_time); @@ -1598,19 +1457,12 @@ static int udf_update_inode(struct inode *inode, int do_sync)  		fe->descTag.tagIdent = cpu_to_le16(TAG_IDENT_FE);  		crclen = sizeof(struct fileEntry);  	} else { -		memcpy(bh->b_data + sizeof(struct extendedFileEntry), -		       UDF_I_DATA(inode), -		       inode->i_sb->s_blocksize - -		       sizeof(struct extendedFileEntry)); +		memcpy(bh->b_data + sizeof(struct extendedFileEntry), UDF_I_DATA(inode), +		       inode->i_sb->s_blocksize - sizeof(struct extendedFileEntry));  		efe->objectSize = cpu_to_le64(inode->i_size); -		efe->logicalBlocksRecorded = cpu_to_le64((inode->i_blocks + -							  (1 << -							   (inode->i_sb-> -							    s_blocksize_bits - -							    9)) - -							  1) >> (inode->i_sb-> -								 s_blocksize_bits -								 - 9)); +		efe->logicalBlocksRecorded = cpu_to_le64( +			(inode->i_blocks + (1 << (inode->i_sb->s_blocksize_bits - 9)) - 1) >> +			(inode->i_sb->s_blocksize_bits - 9));  		if (UDF_I_CRTIME(inode).tv_sec > inode->i_atime.tv_sec ||  		    (UDF_I_CRTIME(inode).tv_sec == inode->i_atime.tv_sec && @@ -1671,13 +1523,13 @@ static int udf_update_inode(struct inode *inode, int do_sync)  	else if (S_ISSOCK(inode->i_mode))  		fe->icbTag.fileType = ICBTAG_FILE_TYPE_SOCKET; -	icbflags = UDF_I_ALLOCTYPE(inode) | -	    ((inode->i_mode & S_ISUID) ? ICBTAG_FLAG_SETUID : 0) | -	    ((inode->i_mode & S_ISGID) ? ICBTAG_FLAG_SETGID : 0) | -	    ((inode->i_mode & S_ISVTX) ? ICBTAG_FLAG_STICKY : 0) | -	    (le16_to_cpu(fe->icbTag.flags) & -	     ~(ICBTAG_FLAG_AD_MASK | ICBTAG_FLAG_SETUID | -	       ICBTAG_FLAG_SETGID | ICBTAG_FLAG_STICKY)); +	icbflags =	UDF_I_ALLOCTYPE(inode) | +			((inode->i_mode & S_ISUID) ? ICBTAG_FLAG_SETUID : 0) | +			((inode->i_mode & S_ISGID) ? ICBTAG_FLAG_SETGID : 0) | +			((inode->i_mode & S_ISVTX) ? ICBTAG_FLAG_STICKY : 0) | +			(le16_to_cpu(fe->icbTag.flags) & +				~(ICBTAG_FLAG_AD_MASK | ICBTAG_FLAG_SETUID | +				ICBTAG_FLAG_SETGID | ICBTAG_FLAG_STICKY));  	fe->icbTag.flags = cpu_to_le16(icbflags);  	if (UDF_SB_UDFREV(inode->i_sb) >= 0x0200) @@ -1685,18 +1537,16 @@ static int udf_update_inode(struct inode *inode, int do_sync)  	else  		fe->descTag.descVersion = cpu_to_le16(2);  	fe->descTag.tagSerialNum = cpu_to_le16(UDF_SB_SERIALNUM(inode->i_sb)); -	fe->descTag.tagLocation = -	    cpu_to_le32(UDF_I_LOCATION(inode).logicalBlockNum); +	fe->descTag.tagLocation = cpu_to_le32(UDF_I_LOCATION(inode).logicalBlockNum);  	crclen += UDF_I_LENEATTR(inode) + UDF_I_LENALLOC(inode) - sizeof(tag);  	fe->descTag.descCRCLength = cpu_to_le16(crclen); -	fe->descTag.descCRC = -	    cpu_to_le16(udf_crc((char *)fe + sizeof(tag), crclen, 0)); +	fe->descTag.descCRC = cpu_to_le16(udf_crc((char *)fe + sizeof(tag), crclen, 0));  	fe->descTag.tagChecksum = 0; -	for (i = 0; i < 16; i++) +	for (i = 0; i < 16; i++) {  		if (i != 4) -			fe->descTag.tagChecksum += -			    ((uint8_t *) & (fe->descTag))[i]; +			fe->descTag.tagChecksum += ((uint8_t *)&(fe->descTag))[i]; +	}  	/* write the data blocks */  	mark_buffer_dirty(bh); @@ -1709,6 +1559,7 @@ static int udf_update_inode(struct inode *inode, int do_sync)  		}  	}  	brelse(bh); +  	return err;  } @@ -1729,8 +1580,7 @@ struct inode *udf_iget(struct super_block *sb, kernel_lb_addr ino)  	if (is_bad_inode(inode))  		goto out_iput; -	if (ino.logicalBlockNum >= -	    UDF_SB_PARTLEN(sb, ino.partitionReferenceNum)) { +	if (ino.logicalBlockNum >= UDF_SB_PARTLEN(sb, ino.partitionReferenceNum)) {  		udf_debug("block=%d, partition=%d out of range\n",  			  ino.logicalBlockNum, ino.partitionReferenceNum);  		make_bad_inode(inode); @@ -1739,7 +1589,7 @@ struct inode *udf_iget(struct super_block *sb, kernel_lb_addr ino)  	return inode; -      out_iput: + out_iput:  	iput(inode);  	return NULL;  } @@ -1755,9 +1605,7 @@ int8_t udf_add_aext(struct inode * inode, struct extent_position * epos,  	uint8_t *ptr;  	if (!epos->bh) -		ptr = -		    UDF_I_DATA(inode) + epos->offset - -		    udf_file_entry_alloc_offset(inode) + UDF_I_LENEATTR(inode); +		ptr = UDF_I_DATA(inode) + epos->offset - udf_file_entry_alloc_offset(inode) + UDF_I_LENEATTR(inode);  	else  		ptr = epos->bh->b_data + epos->offset; @@ -1774,18 +1622,13 @@ int8_t udf_add_aext(struct inode * inode, struct extent_position * epos,  		int err, loffset;  		kernel_lb_addr obloc = epos->block; -		if (! -		    (epos->block.logicalBlockNum = -		     udf_new_block(inode->i_sb, NULL, -				   obloc.partitionReferenceNum, -				   obloc.logicalBlockNum, &err))) { +		if (!(epos->block.logicalBlockNum = udf_new_block(inode->i_sb, NULL, +								  obloc.partitionReferenceNum, +								  obloc.logicalBlockNum, &err))) {  			return -1;  		} -		if (! -		    (nbh = -		     udf_tgetblk(inode->i_sb, -				 udf_get_lb_pblock(inode->i_sb, epos->block, -						   0)))) { +		if (!(nbh = udf_tgetblk(inode->i_sb, udf_get_lb_pblock(inode->i_sb, +								       epos->block, 0)))) {  			return -1;  		}  		lock_buffer(nbh); @@ -1796,8 +1639,7 @@ int8_t udf_add_aext(struct inode * inode, struct extent_position * epos,  		aed = (struct allocExtDesc *)(nbh->b_data);  		if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT)) -			aed->previousAllocExtLocation = -			    cpu_to_le32(obloc.logicalBlockNum); +			aed->previousAllocExtLocation = cpu_to_le32(obloc.logicalBlockNum);  		if (epos->offset + adsize > inode->i_sb->s_blocksize) {  			loffset = epos->offset;  			aed->lengthAllocDescs = cpu_to_le32(adsize); @@ -1814,9 +1656,7 @@ int8_t udf_add_aext(struct inode * inode, struct extent_position * epos,  			if (epos->bh) {  				aed = (struct allocExtDesc *)epos->bh->b_data;  				aed->lengthAllocDescs = -				    cpu_to_le32(le32_to_cpu -						(aed->lengthAllocDescs) + -						adsize); +					cpu_to_le32(le32_to_cpu(aed->lengthAllocDescs) + adsize);  			} else {  				UDF_I_LENALLOC(inode) += adsize;  				mark_inode_dirty(inode); @@ -1830,37 +1670,30 @@ int8_t udf_add_aext(struct inode * inode, struct extent_position * epos,  				    epos->block.logicalBlockNum, sizeof(tag));  		switch (UDF_I_ALLOCTYPE(inode)) {  		case ICBTAG_FLAG_AD_SHORT: -			{ -				sad = (short_ad *) sptr; -				sad->extLength = -				    cpu_to_le32(EXT_NEXT_EXTENT_ALLOCDECS | -						inode->i_sb->s_blocksize); -				sad->extPosition = -				    cpu_to_le32(epos->block.logicalBlockNum); -				break; -			} +			sad = (short_ad *)sptr; +			sad->extLength = cpu_to_le32(EXT_NEXT_EXTENT_ALLOCDECS | +						     inode->i_sb->s_blocksize); +			sad->extPosition = cpu_to_le32(epos->block.logicalBlockNum); +			break;  		case ICBTAG_FLAG_AD_LONG: -			{ -				lad = (long_ad *) sptr; -				lad->extLength = -				    cpu_to_le32(EXT_NEXT_EXTENT_ALLOCDECS | -						inode->i_sb->s_blocksize); -				lad->extLocation = cpu_to_lelb(epos->block); -				memset(lad->impUse, 0x00, sizeof(lad->impUse)); -				break; -			} +			lad = (long_ad *)sptr; +			lad->extLength = cpu_to_le32(EXT_NEXT_EXTENT_ALLOCDECS | +						     inode->i_sb->s_blocksize); +			lad->extLocation = cpu_to_lelb(epos->block); +			memset(lad->impUse, 0x00, sizeof(lad->impUse)); +			break;  		}  		if (epos->bh) { -			if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) -			    || UDF_SB_UDFREV(inode->i_sb) >= 0x0201) +			if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) || +			    UDF_SB_UDFREV(inode->i_sb) >= 0x0201)  				udf_update_tag(epos->bh->b_data, loffset);  			else -				udf_update_tag(epos->bh->b_data, -					       sizeof(struct allocExtDesc)); +				udf_update_tag(epos->bh->b_data, sizeof(struct allocExtDesc));  			mark_buffer_dirty_inode(epos->bh, inode);  			brelse(epos->bh); -		} else +		} else {  			mark_inode_dirty(inode); +		}  		epos->bh = nbh;  	} @@ -1872,14 +1705,11 @@ int8_t udf_add_aext(struct inode * inode, struct extent_position * epos,  	} else {  		aed = (struct allocExtDesc *)epos->bh->b_data;  		aed->lengthAllocDescs = -		    cpu_to_le32(le32_to_cpu(aed->lengthAllocDescs) + adsize); -		if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) -		    || UDF_SB_UDFREV(inode->i_sb) >= 0x0201) -			udf_update_tag(epos->bh->b_data, -				       epos->offset + (inc ? 0 : adsize)); +			cpu_to_le32(le32_to_cpu(aed->lengthAllocDescs) + adsize); +		if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) || UDF_SB_UDFREV(inode->i_sb) >= 0x0201) +			udf_update_tag(epos->bh->b_data, epos->offset + (inc ? 0 : adsize));  		else -			udf_update_tag(epos->bh->b_data, -				       sizeof(struct allocExtDesc)); +			udf_update_tag(epos->bh->b_data, sizeof(struct allocExtDesc));  		mark_buffer_dirty_inode(epos->bh, inode);  	} @@ -1891,51 +1721,47 @@ int8_t udf_write_aext(struct inode * inode, struct extent_position * epos,  {  	int adsize;  	uint8_t *ptr; +	short_ad *sad; +	long_ad *lad;  	if (!epos->bh) -		ptr = -		    UDF_I_DATA(inode) + epos->offset - -		    udf_file_entry_alloc_offset(inode) + UDF_I_LENEATTR(inode); +		ptr = UDF_I_DATA(inode) + epos->offset - udf_file_entry_alloc_offset(inode) + UDF_I_LENEATTR(inode);  	else  		ptr = epos->bh->b_data + epos->offset;  	switch (UDF_I_ALLOCTYPE(inode)) {  	case ICBTAG_FLAG_AD_SHORT: -		{ -			short_ad *sad = (short_ad *) ptr; -			sad->extLength = cpu_to_le32(elen); -			sad->extPosition = cpu_to_le32(eloc.logicalBlockNum); -			adsize = sizeof(short_ad); -			break; -		} +		sad = (short_ad *)ptr; +		sad->extLength = cpu_to_le32(elen); +		sad->extPosition = cpu_to_le32(eloc.logicalBlockNum); +		adsize = sizeof(short_ad); +		break;  	case ICBTAG_FLAG_AD_LONG: -		{ -			long_ad *lad = (long_ad *) ptr; -			lad->extLength = cpu_to_le32(elen); -			lad->extLocation = cpu_to_lelb(eloc); -			memset(lad->impUse, 0x00, sizeof(lad->impUse)); -			adsize = sizeof(long_ad); -			break; -		} +		lad = (long_ad *)ptr; +		lad->extLength = cpu_to_le32(elen); +		lad->extLocation = cpu_to_lelb(eloc); +		memset(lad->impUse, 0x00, sizeof(lad->impUse)); +		adsize = sizeof(long_ad); +		break;  	default:  		return -1;  	}  	if (epos->bh) { -		if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) -		    || UDF_SB_UDFREV(inode->i_sb) >= 0x0201) { -			struct allocExtDesc *aed = -			    (struct allocExtDesc *)epos->bh->b_data; +		if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) || +		    UDF_SB_UDFREV(inode->i_sb) >= 0x0201) { +			struct allocExtDesc *aed = (struct allocExtDesc *)epos->bh->b_data;  			udf_update_tag(epos->bh->b_data, -				       le32_to_cpu(aed->lengthAllocDescs) + -				       sizeof(struct allocExtDesc)); +				       le32_to_cpu(aed->lengthAllocDescs) + sizeof(struct allocExtDesc));  		}  		mark_buffer_dirty_inode(epos->bh, inode); -	} else +	} else {  		mark_inode_dirty(inode); +	}  	if (inc)  		epos->offset += adsize; +  	return (elen >> 30);  } @@ -1949,14 +1775,9 @@ int8_t udf_next_aext(struct inode * inode, struct extent_position * epos,  		epos->block = *eloc;  		epos->offset = sizeof(struct allocExtDesc);  		brelse(epos->bh); -		if (! -		    (epos->bh = -		     udf_tread(inode->i_sb, -			       udf_get_lb_pblock(inode->i_sb, epos->block, -						 0)))) { +		if (!(epos->bh = udf_tread(inode->i_sb, udf_get_lb_pblock(inode->i_sb, epos->block, 0)))) {  			udf_debug("reading block %d failed!\n", -				  udf_get_lb_pblock(inode->i_sb, epos->block, -						    0)); +				  udf_get_lb_pblock(inode->i_sb, epos->block, 0));  			return -1;  		}  	} @@ -1970,75 +1791,49 @@ int8_t udf_current_aext(struct inode * inode, struct extent_position * epos,  	int alen;  	int8_t etype;  	uint8_t *ptr; +	short_ad *sad; +	long_ad *lad; +  	if (!epos->bh) {  		if (!epos->offset)  			epos->offset = udf_file_entry_alloc_offset(inode); -		ptr = -		    UDF_I_DATA(inode) + epos->offset - -		    udf_file_entry_alloc_offset(inode) + UDF_I_LENEATTR(inode); -		alen = -		    udf_file_entry_alloc_offset(inode) + UDF_I_LENALLOC(inode); +		ptr = UDF_I_DATA(inode) + epos->offset - udf_file_entry_alloc_offset(inode) + UDF_I_LENEATTR(inode); +		alen = udf_file_entry_alloc_offset(inode) + UDF_I_LENALLOC(inode);  	} else {  		if (!epos->offset)  			epos->offset = sizeof(struct allocExtDesc);  		ptr = epos->bh->b_data + epos->offset; -		alen = -		    sizeof(struct allocExtDesc) + -		    le32_to_cpu(((struct allocExtDesc *)epos->bh->b_data)-> -				lengthAllocDescs); +		alen = sizeof(struct allocExtDesc) + +			le32_to_cpu(((struct allocExtDesc *)epos->bh->b_data)->lengthAllocDescs);  	}  	switch (UDF_I_ALLOCTYPE(inode)) {  	case ICBTAG_FLAG_AD_SHORT: -		{ -			short_ad *sad; - -			if (! -			    (sad = -			     udf_get_fileshortad(ptr, alen, &epos->offset, -						 inc))) -				return -1; - -			etype = le32_to_cpu(sad->extLength) >> 30; -			eloc->logicalBlockNum = le32_to_cpu(sad->extPosition); -			eloc->partitionReferenceNum = -			    UDF_I_LOCATION(inode).partitionReferenceNum; -			*elen = -			    le32_to_cpu(sad-> -					extLength) & UDF_EXTENT_LENGTH_MASK; -			break; -		} +		if (!(sad = udf_get_fileshortad(ptr, alen, &epos->offset, inc))) +			return -1; +		etype = le32_to_cpu(sad->extLength) >> 30; +		eloc->logicalBlockNum = le32_to_cpu(sad->extPosition); +		eloc->partitionReferenceNum = UDF_I_LOCATION(inode).partitionReferenceNum; +		*elen = le32_to_cpu(sad->extLength) & UDF_EXTENT_LENGTH_MASK; +		break;  	case ICBTAG_FLAG_AD_LONG: -		{ -			long_ad *lad; - -			if (! -			    (lad = -			     udf_get_filelongad(ptr, alen, &epos->offset, inc))) -				return -1; - -			etype = le32_to_cpu(lad->extLength) >> 30; -			*eloc = lelb_to_cpu(lad->extLocation); -			*elen = -			    le32_to_cpu(lad-> -					extLength) & UDF_EXTENT_LENGTH_MASK; -			break; -		} -	default: -		{ -			udf_debug("alloc_type = %d unsupported\n", -				  UDF_I_ALLOCTYPE(inode)); +		if (!(lad = udf_get_filelongad(ptr, alen, &epos->offset, inc)))  			return -1; -		} +		etype = le32_to_cpu(lad->extLength) >> 30; +		*eloc = lelb_to_cpu(lad->extLocation); +		*elen = le32_to_cpu(lad->extLength) & UDF_EXTENT_LENGTH_MASK; +		break; +	default: +		udf_debug("alloc_type = %d unsupported\n", UDF_I_ALLOCTYPE(inode)); +		return -1;  	}  	return etype;  } -static int8_t -udf_insert_aext(struct inode *inode, struct extent_position epos, -		kernel_lb_addr neloc, uint32_t nelen) +static int8_t udf_insert_aext(struct inode *inode, struct extent_position epos, +			      kernel_lb_addr neloc, uint32_t nelen)  {  	kernel_lb_addr oeloc;  	uint32_t oelen; @@ -2049,12 +1844,12 @@ udf_insert_aext(struct inode *inode, struct extent_position epos,  	while ((etype = udf_next_aext(inode, &epos, &oeloc, &oelen, 0)) != -1) {  		udf_write_aext(inode, &epos, neloc, nelen, 1); -  		neloc = oeloc;  		nelen = (etype << 30) | oelen;  	}  	udf_add_aext(inode, &epos, neloc, nelen, 1);  	brelse(epos.bh); +  	return (nelen >> 30);  } @@ -2105,15 +1900,12 @@ int8_t udf_delete_aext(struct inode * inode, struct extent_position epos,  		} else {  			aed = (struct allocExtDesc *)oepos.bh->b_data;  			aed->lengthAllocDescs = -			    cpu_to_le32(le32_to_cpu(aed->lengthAllocDescs) - -					(2 * adsize)); -			if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) -			    || UDF_SB_UDFREV(inode->i_sb) >= 0x0201) -				udf_update_tag(oepos.bh->b_data, -					       oepos.offset - (2 * adsize)); +				cpu_to_le32(le32_to_cpu(aed->lengthAllocDescs) - (2 * adsize)); +			if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) || +			    UDF_SB_UDFREV(inode->i_sb) >= 0x0201) +				udf_update_tag(oepos.bh->b_data, oepos.offset - (2 * adsize));  			else -				udf_update_tag(oepos.bh->b_data, -					       sizeof(struct allocExtDesc)); +				udf_update_tag(oepos.bh->b_data, sizeof(struct allocExtDesc));  			mark_buffer_dirty_inode(oepos.bh, inode);  		}  	} else { @@ -2124,21 +1916,19 @@ int8_t udf_delete_aext(struct inode * inode, struct extent_position epos,  		} else {  			aed = (struct allocExtDesc *)oepos.bh->b_data;  			aed->lengthAllocDescs = -			    cpu_to_le32(le32_to_cpu(aed->lengthAllocDescs) - -					adsize); -			if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) -			    || UDF_SB_UDFREV(inode->i_sb) >= 0x0201) -				udf_update_tag(oepos.bh->b_data, -					       epos.offset - adsize); +				cpu_to_le32(le32_to_cpu(aed->lengthAllocDescs) - adsize); +			if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) || +			    UDF_SB_UDFREV(inode->i_sb) >= 0x0201) +				udf_update_tag(oepos.bh->b_data, epos.offset - adsize);  			else -				udf_update_tag(oepos.bh->b_data, -					       sizeof(struct allocExtDesc)); +				udf_update_tag(oepos.bh->b_data, sizeof(struct allocExtDesc));  			mark_buffer_dirty_inode(oepos.bh, inode);  		}  	}  	brelse(epos.bh);  	brelse(oepos.bh); +  	return (elen >> 30);  } @@ -2162,8 +1952,7 @@ int8_t inode_bmap(struct inode * inode, sector_t block,  	do {  		if ((etype = udf_next_aext(inode, pos, eloc, elen, 1)) == -1) { -			*offset = -			    (bcount - lbcount) >> inode->i_sb->s_blocksize_bits; +			*offset = (bcount - lbcount) >> inode->i_sb->s_blocksize_bits;  			UDF_I_LENEXTENTS(inode) = lbcount;  			return -1;  		} @@ -2180,13 +1969,12 @@ long udf_block_map(struct inode *inode, sector_t block)  	kernel_lb_addr eloc;  	uint32_t elen;  	sector_t offset; -	struct extent_position epos = { NULL, 0, {0, 0} }; +	struct extent_position epos = {};  	int ret;  	lock_kernel(); -	if (inode_bmap(inode, block, &epos, &eloc, &elen, &offset) == -	    (EXT_RECORDED_ALLOCATED >> 30)) +	if (inode_bmap(inode, block, &epos, &eloc, &elen, &offset) == (EXT_RECORDED_ALLOCATED >> 30))  		ret = udf_get_lb_pblock(inode->i_sb, eloc, offset);  	else  		ret = 0; | 
