Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 141299
b: refs/heads/master
c: 30c7c1c
h: refs/heads/master
i:
  141297: 4ddca63
  141295: cfc5b8f
v: v3
  • Loading branch information
Evgeniy Polyakov authored and Greg Kroah-Hartman committed Apr 3, 2009
1 parent 94e69f3 commit edd2956
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e55b689268391a3b0a0d20c951b60b2d88a5e105
refs/heads/master: 30c7c1c63079e97582a592c176bebbfd38285480
23 changes: 23 additions & 0 deletions trunk/drivers/staging/dst/dcore.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,33 @@ static void dst_node_set_size(struct dst_node *n)
static int dst_request(struct request_queue *q, struct bio *bio)
{
struct dst_node *n = q->queuedata;
int err = -EIO;

if (bio_empty_barrier(bio) && !q->prepare_discard_fn) {
/*
* This is a dirty^Wnice hack, but if we complete this
* operation with -EOPNOTSUPP like intended, XFS
* will stuck and freeze the machine. This may be
* not particulary XFS problem though, but it is the
* only FS which sends empty barrier at umount time
* I worked with.
*
* Empty barriers are not allowed anyway, see 51fd77bd9f512
* for example, although later it was changed to bio_discard()
* only, which does not work in this case.
*/
//err = -EOPNOTSUPP;
err = 0;
goto end_io;
}

bio_get(bio);

return dst_process_bio(n, bio);

end_io:
bio_endio(bio, err);
return err;
}

/*
Expand Down

0 comments on commit edd2956

Please sign in to comment.