filelayoutdev.c (f1615bbe9be4def59c3b3eaddb60722efeed16c2) filelayoutdev.c (743162013d40ca612b4cb53d3a200dff2d9ab26e)
1/*
2 * Device operations for the pnfs nfs4 file layout driver.
3 *
4 * Copyright (c) 2002
5 * The Regents of the University of Michigan
6 * All Rights Reserved
7 *
8 * Dean Hildebrand <dhildebz@umich.edu>

--- 769 unchanged lines hidden (view full) ---

778 } else
779 i = j;
780 return flseg->fh_array[i];
781}
782
783static void nfs4_wait_ds_connect(struct nfs4_pnfs_ds *ds)
784{
785 might_sleep();
1/*
2 * Device operations for the pnfs nfs4 file layout driver.
3 *
4 * Copyright (c) 2002
5 * The Regents of the University of Michigan
6 * All Rights Reserved
7 *
8 * Dean Hildebrand <dhildebz@umich.edu>

--- 769 unchanged lines hidden (view full) ---

778 } else
779 i = j;
780 return flseg->fh_array[i];
781}
782
783static void nfs4_wait_ds_connect(struct nfs4_pnfs_ds *ds)
784{
785 might_sleep();
786 wait_on_bit(&ds->ds_state, NFS4DS_CONNECTING,
787 nfs_wait_bit_killable, TASK_KILLABLE);
786 wait_on_bit_action(&ds->ds_state, NFS4DS_CONNECTING,
787 nfs_wait_bit_killable, TASK_KILLABLE);
788}
789
790static void nfs4_clear_ds_conn_bit(struct nfs4_pnfs_ds *ds)
791{
792 smp_mb__before_atomic();
793 clear_bit(NFS4DS_CONNECTING, &ds->ds_state);
794 smp_mb__after_atomic();
795 wake_up_bit(&ds->ds_state, NFS4DS_CONNECTING);

--- 48 unchanged lines hidden ---
788}
789
790static void nfs4_clear_ds_conn_bit(struct nfs4_pnfs_ds *ds)
791{
792 smp_mb__before_atomic();
793 clear_bit(NFS4DS_CONNECTING, &ds->ds_state);
794 smp_mb__after_atomic();
795 wake_up_bit(&ds->ds_state, NFS4DS_CONNECTING);

--- 48 unchanged lines hidden ---