linux-next: manual merge of the akpm tree with Linus' tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
fs/direct-io.c between commit eb28be2b4c0a ("direct-io: separate fields
only used in the submission path from struct dio") from Linus' tree and
commit "fs/direct-io.c: salcuate fs_count correctly in get_more_blocks()"
from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@xxxxxxxxxxxxxxxx

diff --cc fs/direct-io.c
index d740ab6,b05f24e..0000000
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@@ -575,14 -564,13 +575,13 @@@ static inline int dio_bio_reap(struct d
   * buffer_mapped().  However the direct-io code will only process holes one
   * block at a time - it will repeatedly call get_block() as it walks the hole.
   */
 -static int get_more_blocks(struct dio *dio)
 +static int get_more_blocks(struct dio *dio, struct dio_submit *sdio,
 +			   struct buffer_head *map_bh)
  {
  	int ret;
 -	struct buffer_head *map_bh = &dio->map_bh;
  	sector_t fs_startblk;	/* Into file, in filesystem-sized blocks */
+ 	sector_t fs_endblk;	/* Into file, in filesystem-sized blocks */
  	unsigned long fs_count;	/* Number of filesystem-sized blocks */
- 	unsigned long dio_count;/* Number of dio_block-sized blocks */
- 	unsigned long blkmask;
  	int create;
  
  	/*
@@@ -591,13 -579,10 +590,10 @@@
  	 */
  	ret = dio->page_errors;
  	if (ret == 0) {
 -		BUG_ON(dio->block_in_file >= dio->final_block_in_request);
 -		fs_startblk = dio->block_in_file >> dio->blkfactor;
 -		fs_endblk = (dio->final_block_in_request - 1) >> dio->blkfactor;
 +		BUG_ON(sdio->block_in_file >= sdio->final_block_in_request);
 +		fs_startblk = sdio->block_in_file >> sdio->blkfactor;
- 		dio_count = sdio->final_block_in_request - sdio->block_in_file;
- 		fs_count = dio_count >> sdio->blkfactor;
- 		blkmask = (1 << sdio->blkfactor) - 1;
- 		if (dio_count & blkmask)	
- 			fs_count++;
++		fs_endblk = (sdio->final_block_in_request - 1) >> sdio->blkfactor;
+ 		fs_count = fs_endblk - fs_startblk + 1;
  
  		map_bh->b_state = 0;
  		map_bh->b_size = fs_count << dio->inode->i_blkbits;

Attachment: pgpCcIaKRCsIG.pgp
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux