From b92d7d45e190d5959e0f9f09aae2ccc810a5ddce Mon Sep 17 00:00:00 2001 From: johann Date: Fri, 14 Sep 2007 13:00:13 +0000 Subject: [PATCH] Branch HEAD b=13181 i=alex i=nikita Don't take the BKL in fsfilt_ext3_setattr() for 2.6 kernels. It causes scheduling issues when removing large files. --- lustre/ChangeLog | 8 ++++++++ lustre/lvfs/fsfilt_ext3.c | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index e1d4154..db15c8a 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. diff --git a/lustre/lvfs/fsfilt_ext3.c b/lustre/lvfs/fsfilt_ext3.c index 6164a09..cef899b 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); } -- 1.8.3.1