Current Path :
/
usr
/
share
/
hal
/
fdi
/
policy
/
10osvendor
/
Or
Select Your Path :
Upload File :
New :
File
Dir
//usr/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi
<?xml version="1.0" encoding="UTF-8"?> <deviceinfo version="0.2"> <device> <match key="info.udi" string="/org/freedesktop/Hal/devices/computer"> <append key="info.callouts.add" type="strlist">hal-storage-cleanup-all-mountpoints</append> </match> <!-- poll drives with removable media --> <match key="storage.removable" bool="true"> <append key="info.addons" type="strlist">hald-addon-storage</append> </match> <match key="volume.is_disc" bool="true"> <match key="volume.disc.has_audio" bool="true"> <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append> </match> <match key="volume.disc.is_blank" bool="true"> <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append> </match> </match> <!-- this is to be able to mount media in drives we cannot poll, e.g. IDE Zip Drives and PC style floppy drives --> <match key="storage.media_check_enabled" bool="false"> <match key="storage.no_partitions_hint" bool="true"> <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Mount</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">ssas</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">mount_point fstype extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-mount</append> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Unmount</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-unmount</append> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append> <!-- allow these mount options for all file systems --> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <append key="volume.mount.valid_options" type="strlist">ro</append> <append key="volume.mount.valid_options" type="strlist">sync</append> <append key="volume.mount.valid_options" type="strlist">dirsync</append> <append key="volume.mount.valid_options" type="strlist">noatime</append> <append key="volume.mount.valid_options" type="strlist">nodiratime</append> <append key="volume.mount.valid_options" type="strlist">relatime</append> <append key="volume.mount.valid_options" type="strlist">noexec</append> <append key="volume.mount.valid_options" type="strlist">quiet</append> <append key="volume.mount.valid_options" type="strlist">remount</append> <append key="volume.mount.valid_options" type="strlist">exec</append> <!-- As this is removable media give some leeway --> <append key="volume.mount.valid_options" type="strlist">utf8</append> <append key="volume.mount.valid_options" type="strlist">shortname=</append> <append key="volume.mount.valid_options" type="strlist">codepage=</append> <append key="volume.mount.valid_options" type="strlist">iocharset=</append> <append key="volume.mount.valid_options" type="strlist">umask=</append> <append key="volume.mount.valid_options" type="strlist">uid=</append> </match> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD"> <append key="volume.mount.valid_options" type="strlist">ro</append> <append key="volume.mount.valid_options" type="strlist">noexec</append> <append key="volume.mount.valid_options" type="strlist">noatime</append> </match> </match> </match> <match key="volume.fsusage" string="filesystem"> <!-- Here follow volumes we specifically want to ignore - it is the --> <!-- responsibility of software higher in the stack (e.g. gnome-vfs) --> <!-- amd mount programs (e.g. Mount() on HAL) to respect volume.ignore --> <merge key="volume.ignore" type="bool">false</merge> <!-- Should always ignore Apple Bootstrap partitions (it would be --> <!-- a security hole to mount it) - TODO: should use the bootable --> <!-- flag from the Mac partition table instead --> <match key="volume.fstype" string="hfs"> <match key="volume.label" string="bootstrap"> <merge key="volume.ignore" type="bool">true</merge> </match> </match> <match key="volume.partition.scheme" string="apm"> <match key="volume.partition.type" string_outof="Apple_Bootstrap"> <merge key="volume.ignore" type="bool">true</merge> </match> </match> <!-- EFI firmware partitions --> <match key="volume.fstype" string="vfat"> <match key="volume.label" string="EFI"> <merge key="volume.ignore" type="bool">true</merge> </match> </match> <match key="volume.fstype" string_outof="ntfs;vfat"> <match key="volume.label" string="RECOVERY"> <merge key="volume.ignore" type="bool">true</merge> </match> <!-- ASUS ships some desktop with a recovery partition --> <match key="volume.label" string="PQSERVICE"> <merge key="volume.ignore" type="bool">true</merge> </match> <!-- HP ships desktops with a recovery partition --> <match key="volume.label" string="HP_RECOVERY"> <merge key="volume.ignore" type="bool">true</merge> </match> <!-- Sony ships laptops with a recovery partition --> <match key="volume.label" string="Recovery Partition"> <merge key="volume.ignore" type="bool">true</merge> </match> <!-- DELL ships some laptops with a visible recovery partition --> <match key="volume.label" string_outof="DellUtility;DellRestore"> <merge key="volume.ignore" type="bool">true</merge> </match> <!-- Lenovo and IBM ship with a various recovery partitions --> <match key="volume.label" string_outof="IBM_SERVICE;SERVICEV001;SERVICEV002"> <merge key="volume.ignore" type="bool">true</merge> </match> <!-- Fujitsu ships laptops with a recovery partitions --> <match key="volume.label" string="WinRE"> <merge key="volume.ignore" type="bool">true</merge> </match> </match> <!-- ignore the following MBR partition types (EFI, hidden, etc.) see http://www.win.tue.nl/~aeb/partitions/partition_types-1.html --> <match key="volume.partition.scheme" string="mbr"> <match key="volume.partition.type" string_outof="0x00;0x11;0x14;0x16;0x17;0x1b;0x1c;0x1e;0x27;0x3d;0x84;0x8d;0x90;0x91;0x92;0x93;0x97;0x98;0x9a;0x9b;0xbb;0xc2;0xc3;0xdd;0xef"> <merge key="volume.ignore" type="bool">true</merge> </match> </match> <!-- special GUID-identified partition types see http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs --> <match key="volume.partition.scheme" string="gpt"> <match key="volume.partition.type" string_outof="C12A7328-F81F-11D2-BA4B-00A0C93EC93B;21686148-6449-6E6F-744E-656564454649"> <merge key="volume.ignore" type="bool">true</merge> </match> </match> <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Mount</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">ssas</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">mount_point fstype extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-mount</append> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Unmount</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-unmount</append> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <match key="volume.linux.is_device_mapper" bool="false"> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append> </match> </match> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD"> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append> </match> <!-- allow these mount options for all file systems --> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <append key="volume.mount.valid_options" type="strlist">ro</append> <append key="volume.mount.valid_options" type="strlist">sync</append> <append key="volume.mount.valid_options" type="strlist">dirsync</append> <append key="volume.mount.valid_options" type="strlist">noatime</append> <append key="volume.mount.valid_options" type="strlist">nodiratime</append> <append key="volume.mount.valid_options" type="strlist">relatime</append> <append key="volume.mount.valid_options" type="strlist">noexec</append> <append key="volume.mount.valid_options" type="strlist">quiet</append> <append key="volume.mount.valid_options" type="strlist">remount</append> <append key="volume.mount.valid_options" type="strlist">exec</append> </match> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD"> <append key="volume.mount.valid_options" type="strlist">ro</append> <append key="volume.mount.valid_options" type="strlist">noexec</append> <append key="volume.mount.valid_options" type="strlist">noatime</append> </match> <!-- allow these mount options for vfat --> <match key="volume.fstype" string="vfat"> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <append key="volume.mount.valid_options" type="strlist">utf8</append> <append key="volume.mount.valid_options" type="strlist">shortname=</append> <append key="volume.mount.valid_options" type="strlist">codepage=</append> <append key="volume.mount.valid_options" type="strlist">iocharset=</append> <append key="volume.mount.valid_options" type="strlist">umask=</append> <append key="volume.mount.valid_options" type="strlist">dmask=</append> <append key="volume.mount.valid_options" type="strlist">fmask=</append> <append key="volume.mount.valid_options" type="strlist">uid=</append> <append key="volume.mount.valid_options" type="strlist">flush</append> </match> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD"> <append key="volume.mount.valid_options" type="strlist">longnames</append> <append key="volume.mount.valid_options" type="strlist">shortnames</append> <append key="volume.mount.valid_options" type="strlist">nowin95</append> <append key="volume.mount.valid_options" type="strlist">-u=</append> <append key="volume.mount.valid_options" type="strlist">-g=</append> <append key="volume.mount.valid_options" type="strlist">-m=</append> <append key="volume.mount.valid_options" type="strlist">-M=</append> <append key="volume.mount.valid_options" type="strlist">-L=</append> <append key="volume.mount.valid_options" type="strlist">-D=</append> <append key="volume.mount.valid_options" type="strlist">large</append> </match> </match> <!-- allow these mount options for hfs --> <match key="volume.fstype" string="hfs"> <append key="volume.mount.valid_options" type="strlist">gid=</append> <append key="volume.mount.valid_options" type="strlist">uid=</append> <append key="volume.mount.valid_options" type="strlist">force</append> </match> <!-- allow these mount options for hfsplus --> <match key="volume.fstype" string="hfsplus"> <append key="volume.mount.valid_options" type="strlist">force</append> </match> <!-- allow these mount options for ntfs --> <match key="volume.fstype" string="ntfs"> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <append key="volume.mount.valid_options" type="strlist">uid=</append> <append key="volume.mount.valid_options" type="strlist">gid=</append> <append key="volume.mount.valid_options" type="strlist">umask=</append> <append key="volume.mount.valid_options" type="strlist">utf8</append> </match> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD"> <append key="volume.mount.valid_options" type="strlist">-u=</append> <append key="volume.mount.valid_options" type="strlist">-g=</append> <append key="volume.mount.valid_options" type="strlist">-m=</append> <append key="volume.mount.valid_options" type="strlist">-a</append> <append key="volume.mount.valid_options" type="strlist">-i</append> <append key="volume.mount.valid_options" type="strlist">-C=</append> <append key="volume.mount.valid_options" type="strlist">-W=</append> </match> </match> <!-- allow these mount options for ext3 --> <match key="volume.fstype" string="ext3"> <append key="volume.mount.valid_options" type="strlist">acl</append> <append key="volume.mount.valid_options" type="strlist">user_xattr</append> <append key="volume.mount.valid_options" type="strlist">data=</append> </match> <!-- allow these mount options for ext2 --> <match key="volume.fstype" string="ext2"> <append key="volume.mount.valid_options" type="strlist">acl</append> <append key="volume.mount.valid_options" type="strlist">user_xattr</append> </match> <!-- allow these mount options for reiserfs --> <match key="volume.fstype" string="reiserfs"> <append key="volume.mount.valid_options" type="strlist">acl</append> <append key="volume.mount.valid_options" type="strlist">user_xattr</append> </match> <!-- allow these mount options for ufs --> <match key="volume.fstype" string="ufs"> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <append key="volume.mount.valid_options" type="strlist">ufstype=</append> </match> </match> <!-- udf --> <match key="volume.fstype" string="udf"> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <append key="volume.mount.valid_options" type="strlist">uid=</append> <append key="volume.mount.valid_options" type="strlist">umask=</append> </match> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD"> <append key="volume.mount.valid_options" type="strlist">-C=</append> <append key="volume.mount.valid_options" type="strlist">-v</append> </match> </match> <!-- iso9660 --> <match key="volume.fstype" string="iso9660"> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <append key="volume.mount.valid_options" type="strlist">utf8</append> <append key="volume.mount.valid_options" type="strlist">uid=</append> <append key="volume.mount.valid_options" type="strlist">mode=</append> <append key="volume.mount.valid_options" type="strlist">iocharset=</append> </match> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD"> <append key="volume.mount.valid_options" type="strlist">extatt</append> <append key="volume.mount.valid_options" type="strlist">gens</append> <append key="volume.mount.valid_options" type="strlist">nojoliet</append> <append key="volume.mount.valid_options" type="strlist">norrip</append> <append key="volume.mount.valid_options" type="strlist">nostrictjoliet</append> <append key="volume.mount.valid_options" type="strlist">-s=</append> <append key="volume.mount.valid_options" type="strlist">-C=</append> <append key="volume.mount.valid_options" type="strlist">-v</append> </match> </match> <!-- allow these unmount options --> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <append key="volume.unmount.valid_options" type="strlist">lazy</append> </match> </match> <!-- make sure we export Eject on discs where we don't recognize the file system --> <match key="volume.is_disc" bool="true"> <match key="volume.fsusage" string=""> <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append> <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append> <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append> </match> </match> <match key="storage.requires_eject" bool="true"> <!-- storage Eject causes eject on each volume on this storage --> <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Storage</append> <append key="org.freedesktop.Hal.Device.Storage.method_names" type="strlist">Eject</append> <append key="org.freedesktop.Hal.Device.Storage.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Storage.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Storage.method_execpaths" type="strlist">hal-storage-eject</append> <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Storage</append> <append key="org.freedesktop.Hal.Device.Storage.method_names" type="strlist">CloseTray</append> <append key="org.freedesktop.Hal.Device.Storage.method_signatures" type="strlist">as</append> <append key="org.freedesktop.Hal.Device.Storage.method_argnames" type="strlist">extra_options</append> <append key="org.freedesktop.Hal.Device.Storage.method_execpaths" type="strlist">hal-storage-closetray</append> </match> </device> </deviceinfo>