diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index e1d41546a3e4bd15d757fe9986a69c192449edf5..db15c8af86c9f3a4ae59388ad0f76225ec6dd2d2 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -249,6 +249,14 @@ Bugzilla   : 2369
 Description: use i_size_read and i_size_write in 2.6 port
 Details    : replace inode->i_size access with i_size_read/write()
 
+Severity   : normal
+Frequency  : when removing large files
+Bugzilla   : 13181
+Description: scheduling issue during removal of large Lustre files
+Details    : Don't take the BKL in fsfilt_ext3_setattr() for 2.6 kernels.
+	     It causes scheduling issues when removing large files (17TB in the
+	     present case).
+
 --------------------------------------------------------------------------------
 
 2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>
diff --git a/lustre/lvfs/fsfilt_ext3.c b/lustre/lvfs/fsfilt_ext3.c
index 6164a09a8d7d33d443647828e0922d9ad766aa8f..cef899b679eb088e49db7f5b37e045f11ed09e26 100644
--- a/lustre/lvfs/fsfilt_ext3.c
+++ b/lustre/lvfs/fsfilt_ext3.c
@@ -499,7 +499,7 @@ static int fsfilt_ext3_setattr(struct dentry *dentry, void *handle,
         struct inode *inode = dentry->d_inode;
         int rc = 0;
 
-        lock_kernel();
+        lock_24kernel();
 
         /* Avoid marking the inode dirty on the superblock list unnecessarily.
          * We are already writing the inode to disk as part of this
@@ -551,7 +551,7 @@ static int fsfilt_ext3_setattr(struct dentry *dentry, void *handle,
         }
 
  out:
-        unlock_kernel();
+        unlock_24kernel();
         RETURN(rc);
 }