pnfs: add CB_NOTIFY_DEVICEID support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I know everyone was waiting for more pnfs patches for me, so today we'll have
some special bites that seem way out in crack monkey land but are for real:

 - more kernel code!
 - duplicating existing raid drivers!
 - XDR encoding of previously XDR decoded data!

If you're not scared read on..

This series adds support for device change notifications to the pnfs core
and block layout driver.  To properly implement NOTIFY_DEVICEID4_CHANGE I
had to move GETDEVICEINFO decoding into kernel space, and implement my own
trivial striping and concat layers in the pnfs blocklayout client.  Why?
DM and MD are really, really unhappy about multiple raid devices using the
same physical devices.  Which is fairly understandable from their point of
view, given that they normally manage on-disk metadata and would rather do
that exclusively.  But we get all our metadata from the server and couldn't
care less about their problems, we have our own problem called deviceid
management..  Once we get a NOTIFY_DEVICEID4_CHANGE callback we need
to stop new I/O using the existing mapping, so we have to drop it from
the deviceid cache.  At the same time another layout could easily request
the same deviceid again and for some period we'd have multiple volume
structures pointing to the same device.

Note that we do not break userspace compatibility - we still use blkmapd
to translate signatures to device numbers, and to do so we re-encode the
SIMPLE volumes we need translated to XDR and send it up to blkmapd just
for that.

A git tree is also available at

	git://git.infradead.org/users/hch/pnfs.git notify-deviceid

This work was sponsored by NetApp, Inc.

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux