X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fllite%2Fllite_close.c;h=f310bf1362b36d670c8933a5920a50a11248a43e;hb=113303973ec9f8484eb2355a1a6ef3c4c7fd6a56;hp=f4dfdf2eee678b81892481d1f603fa2882791dc8;hpb=090c677210ee2946d99c71412e4ff762bb300f4f;p=fs%2Flustre-release.git diff --git a/lustre/llite/llite_close.c b/lustre/llite/llite_close.c index f4dfdf2..f310bf1 100644 --- a/lustre/llite/llite_close.c +++ b/lustre/llite/llite_close.c @@ -25,8 +25,7 @@ #define DEBUG_SUBSYSTEM S_LLITE -#include -#include +#include #include "llite_internal.h" /* record that a write is in flight */ @@ -43,8 +42,7 @@ void llap_write_complete(struct inode *inode, struct ll_async_page *llap) { struct ll_inode_info *lli = ll_i2info(inode); spin_lock(&lli->lli_lock); - if (!list_empty(&llap->llap_pending_write)) - list_del_init(&llap->llap_pending_write); + list_del_init(&llap->llap_pending_write); spin_unlock(&lli->lli_lock); } @@ -85,7 +83,7 @@ void ll_try_done_writing(struct inode *inode) if (list_empty(&lli->lli_close_item)) { CDEBUG(D_INODE, "adding inode %lu/%u to close list\n", inode->i_ino, inode->i_generation); - LASSERT(igrab(inode) == inode); + igrab(inode); list_add_tail(&lli->lli_close_item, &lcq->lcq_list); wake_up(&lcq->lcq_waitq); } @@ -134,7 +132,7 @@ static void ll_close_done_writing(struct inode *inode) rc = ll_extent_lock(NULL, inode, lli->lli_smd, LCK_PW, &policy, &lockh, ast_flags); - if (rc != ELDLM_OK) { + if (rc != 0) { CERROR("lock acquisition failed (%d): unable to send " "DONE_WRITING for inode %lu/%u\n", rc, inode->i_ino, inode->i_generation); @@ -154,7 +152,7 @@ static void ll_close_done_writing(struct inode *inode) CDEBUG(D_INODE, "objid "LPX64" size %Lu, blocks %lu, blksize %lu\n", lli->lli_smd->lsm_object_id, inode->i_size, inode->i_blocks, - inode->i_blksize); + 1<i_blkbits); set_bit(LLI_F_HAVE_OST_SIZE_LOCK, &lli->lli_flags); @@ -168,7 +166,7 @@ static void ll_close_done_writing(struct inode *inode) obdo.o_blocks = inode->i_blocks; obdo.o_valid = OBD_MD_FLID | OBD_MD_FLSIZE | OBD_MD_FLBLOCKS; - rc = md_done_writing(ll_i2sbi(inode)->ll_mdc_exp, &obdo); + rc = mdc_done_writing(ll_i2sbi(inode)->ll_mdc_exp, &obdo); out: } #endif @@ -196,18 +194,12 @@ static int ll_close_thread(void *arg) struct ll_close_queue *lcq = arg; ENTRY; - /* XXX boiler-plate */ { - char name[sizeof(current->comm)]; - unsigned long flags; + char name[CFS_CURPROC_COMM_MAX]; snprintf(name, sizeof(name) - 1, "ll_close"); - kportal_daemonize(name); - SIGNAL_MASK_LOCK(current, flags); - sigfillset(¤t->blocked); - RECALC_SIGPENDING; - SIGNAL_MASK_UNLOCK(current, flags); + cfs_daemonize(name); } - + complete(&lcq->lcq_comp); while (1) {