rpms/kernel/F-7 linux-2.6-udf-2.6.22-rc2-2-udf_block_leak.patch, 1.1, 1.2

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Thu May 24 20:57:22 UTC 2007


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9745

Modified Files:
	linux-2.6-udf-2.6.22-rc2-2-udf_block_leak.patch 
Log Message:
Replaced UDF patch with a newer one.


linux-2.6-udf-2.6.22-rc2-2-udf_block_leak.patch:

Index: linux-2.6-udf-2.6.22-rc2-2-udf_block_leak.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/linux-2.6-udf-2.6.22-rc2-2-udf_block_leak.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-udf-2.6.22-rc2-2-udf_block_leak.patch	24 May 2007 20:18:25 -0000	1.1
+++ linux-2.6-udf-2.6.22-rc2-2-udf_block_leak.patch	24 May 2007 20:57:16 -0000	1.2
@@ -13,8 +13,8 @@
 
 diff -rupX /home/jack/.kerndiffexclude linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/inode.c linux-2.6.22-rc2-2-udf_block_leak/fs/udf/inode.c
 --- linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/inode.c	2007-05-24 18:16:36.000000000 +0200
-+++ linux-2.6.22-rc2-2-udf_block_leak/fs/udf/inode.c	2007-05-24 18:18:54.000000000 +0200
-@@ -100,14 +100,18 @@ no_delete:
++++ linux-2.6.22-rc2-2-udf_block_leak/fs/udf/inode.c	2007-05-24 21:13:59.000000000 +0200
+@@ -100,14 +100,20 @@ no_delete:
  	clear_inode(inode);
  }
  
@@ -23,7 +23,8 @@
  {
  	if (!(inode->i_sb->s_flags & MS_RDONLY)) {
  		lock_kernel();
--		udf_discard_prealloc(inode);
++		/* Discard preallocation for directories, symlinks, etc. */
+ 		udf_discard_prealloc(inode);
 +		udf_truncate_tail_extent(inode);
  		unlock_kernel();
  	}
@@ -48,7 +49,7 @@
  	.statfs			= udf_statfs,
 diff -rupX /home/jack/.kerndiffexclude linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/truncate.c linux-2.6.22-rc2-2-udf_block_leak/fs/udf/truncate.c
 --- linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/truncate.c	2007-05-24 18:00:05.000000000 +0200
-+++ linux-2.6.22-rc2-2-udf_block_leak/fs/udf/truncate.c	2007-05-24 18:18:54.000000000 +0200
++++ linux-2.6.22-rc2-2-udf_block_leak/fs/udf/truncate.c	2007-05-24 21:31:38.000000000 +0200
 @@ -61,7 +61,11 @@ static void extent_trunc(struct inode * 
  	}
  }
@@ -62,16 +63,19 @@
  {
  	struct extent_position epos = { NULL, 0, {0, 0}};
  	kernel_lb_addr eloc;
-@@ -71,7 +75,7 @@ void udf_discard_prealloc(struct inode *
+@@ -71,7 +75,10 @@ void udf_discard_prealloc(struct inode *
  	int adsize;
  
  	if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB ||
 -		inode->i_size == UDF_I_LENEXTENTS(inode))
 +	    inode->i_size == UDF_I_LENEXTENTS(inode))
++		return;
++	/* Are we going to delete the file anyway? */
++	if (inode->i_nlink == 0)
  		return;
  
  	if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_SHORT)
-@@ -79,25 +83,63 @@ void udf_discard_prealloc(struct inode *
+@@ -79,25 +86,63 @@ void udf_discard_prealloc(struct inode *
  	else if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_LONG)
  		adsize = sizeof(long_ad);
  	else
@@ -142,7 +146,7 @@
  	if (etype == (EXT_NOT_RECORDED_ALLOCATED >> 30)) {
  		epos.offset -= adsize;
  		lbcount -= elen;
-@@ -118,9 +160,9 @@ void udf_discard_prealloc(struct inode *
+@@ -118,9 +163,9 @@ void udf_discard_prealloc(struct inode *
  			mark_buffer_dirty_inode(epos.bh, inode);
  		}
  	}




More information about the fedora-extras-commits mailing list