Loading fs/cifs/cifsfs.c +8 −5 Original line number Original line Diff line number Diff line Loading @@ -408,21 +408,24 @@ static struct quotactl_ops cifs_quotactl_ops = { static void cifs_umount_begin(struct super_block * sblock) static void cifs_umount_begin(struct super_block * sblock) { { struct cifs_sb_info *cifs_sb; struct cifs_sb_info *cifs_sb; struct cifsTconInfo * tcon; cifs_sb = CIFS_SB(sb); cifs_sb = CIFS_SB(sb); if(cifs_sb == NULL) if(cifs_sb == NULL) return -EIO; return; if(cifs_sb->tcon == NULL) return -EIO; tcon = cifs_sb->tcon; if(tcon == NULL) return; down(&tcon->tconSem); down(&tcon->tconSem); if (atomic_read(&tcon->useCount) == 1) if (atomic_read(&tcon->useCount) == 1) tcon->tidStatus = CifsExiting; tcon->tidStatus = CifsExiting; up(&tcon->tconSem); up(&tcon->tconSem); if((cifs->sb->tcon->ses) && (cifs_sb->tcon->ses->server)) if(tcon->ses && tcon->ses->server) { { cERROR(1,("wake up tasks now - umount begin not complete")); cERROR(1,("wake up tasks now - umount begin not complete")); wake_up_all(&server->request_q); wake_up_all(&tcon->ses->server->request_q); } } /* BB FIXME - finish add checks for tidStatus BB */ /* BB FIXME - finish add checks for tidStatus BB */ Loading Loading
fs/cifs/cifsfs.c +8 −5 Original line number Original line Diff line number Diff line Loading @@ -408,21 +408,24 @@ static struct quotactl_ops cifs_quotactl_ops = { static void cifs_umount_begin(struct super_block * sblock) static void cifs_umount_begin(struct super_block * sblock) { { struct cifs_sb_info *cifs_sb; struct cifs_sb_info *cifs_sb; struct cifsTconInfo * tcon; cifs_sb = CIFS_SB(sb); cifs_sb = CIFS_SB(sb); if(cifs_sb == NULL) if(cifs_sb == NULL) return -EIO; return; if(cifs_sb->tcon == NULL) return -EIO; tcon = cifs_sb->tcon; if(tcon == NULL) return; down(&tcon->tconSem); down(&tcon->tconSem); if (atomic_read(&tcon->useCount) == 1) if (atomic_read(&tcon->useCount) == 1) tcon->tidStatus = CifsExiting; tcon->tidStatus = CifsExiting; up(&tcon->tconSem); up(&tcon->tconSem); if((cifs->sb->tcon->ses) && (cifs_sb->tcon->ses->server)) if(tcon->ses && tcon->ses->server) { { cERROR(1,("wake up tasks now - umount begin not complete")); cERROR(1,("wake up tasks now - umount begin not complete")); wake_up_all(&server->request_q); wake_up_all(&tcon->ses->server->request_q); } } /* BB FIXME - finish add checks for tidStatus BB */ /* BB FIXME - finish add checks for tidStatus BB */ Loading