From: johann Date: Fri, 14 Sep 2007 12:57:01 +0000 (+0000) Subject: Branch b1_6 X-Git-Tag: v1_8_0_110~1214 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=2621384c29039ada4011278c7ff37399e0834f69;p=fs%2Flustre-release.git Branch b1_6 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. --- diff --git a/lustre/ChangeLog b/lustre/ChangeLog index b684804..04f281c 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -49,6 +49,14 @@ Bugzilla : 13596 Description: MDS hang after unclean shutdown of lots of clients Details : Never resend AST requests. +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-09-27 Cluster File Systems, Inc. diff --git a/lustre/lvfs/fsfilt_ext3.c b/lustre/lvfs/fsfilt_ext3.c index 1e2908b..6737ed4 100644 --- a/lustre/lvfs/fsfilt_ext3.c +++ b/lustre/lvfs/fsfilt_ext3.c @@ -521,7 +521,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 @@ -573,7 +573,7 @@ static int fsfilt_ext3_setattr(struct dentry *dentry, void *handle, } out: - unlock_kernel(); + unlock_24kernel(); RETURN(rc); }