kernel-fxtec-pro1x/include/linux
Joel Becker 631d1febab configfs: config item dependancies.
Sometimes other drivers depend on particular configfs items.  For
example, ocfs2 mounts depend on a heartbeat region item.  If that
region item is removed with rmdir(2), the ocfs2 mount must BUG or go
readonly.  Not happy.

This provides two additional API calls: configfs_depend_item() and
configfs_undepend_item().  A client driver can call
configfs_depend_item() on an existing item to tell configfs that it is
depended on.  configfs will then return -EBUSY from rmdir(2) for that
item.  When the item is no longer depended on, the client driver calls
configfs_undepend_item() on it.

These API cannot be called underneath any configfs callbacks, as
they will conflict.  They can block and allocate.  A client driver
probably shouldn't calling them of its own gumption.  Rather it should
be providing an API that external subsystems call.

How does this work?  Imagine the ocfs2 mount process.  When it mounts,
it asks for a heart region item.  This is done via a call into the
heartbeat code.  Inside the heartbeat code, the region item is looked
up.  Here, the heartbeat code calls configfs_depend_item().  If it
succeeds, then heartbeat knows the region is safe to give to ocfs2.
If it fails, it was being torn down anyway, and heartbeat can gracefully
pass up an error.

[ Fixed some bad whitespace in configfs.txt. --Mark ]

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
2007-07-10 17:18:59 -07:00
..
amba
byteorder
dvb
hdlc
isdn
lockd
mlx4 IB/mlx4: Make sure inline data segments don't cross a 64 byte boundary 2007-06-18 09:23:47 -07:00
mmc
mtd
netfilter [NETFILTER]: nf_conntrack_h323: fix ASN.1 types 2007-05-24 16:42:26 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4 [NETFILTER]: ip_tables: fix compat related crash 2007-06-07 13:40:32 -07:00
netfilter_ipv6
nfsd
raid md: don't write more than is required of the last page of a bitmap 2007-05-23 20:14:14 -07:00
spi spi doc updates 2007-06-16 13:16:16 -07:00
sunrpc sendfile: convert nfsd to splice_direct_to_actor() 2007-07-10 08:04:14 +02:00
tc_act
tc_ematch
usb
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
acpi_pmtmr.h
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
ata.h [ATA] Add named constant for ATAPI command DEVICE RESET 2007-07-09 12:17:33 -04:00
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel_pdc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h make sysctl/kernel/core_pattern and fs/exec.c agree on maximum core filename size 2007-05-17 05:23:05 -07:00
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h [TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK 2007-07-10 08:03:32 +02:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h x86_64: allocate sparsemem memmap above 4G 2007-06-01 08:18:27 -07:00
bottom_half.h
bpqether.h
buffer_head.h
bug.h
cache.h
calc64.h
capability.h capability.h warning fix 2007-05-23 20:14:12 -07:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
chio.h
circ_buf.h
clk.h
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.h
cobalt-nvram.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coff.h
com20020.h
compat.h
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h x86_64: Support gcc 5 properly 2007-05-21 09:56:57 -07:00
completion.h
comstats.h
concap.h
configfs.h configfs: config item dependancies. 2007-07-10 17:18:59 -07:00
connector.h
console.h
console_struct.h Protect <linux/console_struct.h> from multiple inclusion 2007-06-08 17:23:34 -07:00
consolemap.h
const.h
cpu.h
cpufreq.h
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc16.h
crc32.h
crc32c.h
crypto.h
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
delay.h
delayacct.h
device-mapper.h
device.h
devpts_fs.h
dio.h
dirent.h
display.h
dlm.h [DLM] variable allocation 2007-07-09 08:23:17 +01:00
dlm_device.h [DLM] canceling deadlocked lock 2007-07-09 08:22:54 +01:00
dlm_netlink.h [DLM] add lock timeouts and warnings [2/6] 2007-07-09 08:22:33 +01:00
dm-ioctl.h
dm9000.h
dma-mapping.h
dmaengine.h
dmapool.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
edd.h
eeprom_93cx6.h [PATCH] Add 93cx6 eeprom library 2007-07-08 22:16:36 -04:00
efi.h
efs_dir.h
efs_fs.h
efs_fs_i.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elfcore.h
elfnote.h
err.h
errno.h Better documentation for ERESTARTSYS 2007-06-01 08:18:29 -07:00
errqueue.h
etherdevice.h
ethtool.h
eventfd.h eventfd: clean compile when CONFIG_EVENTFD=n 2007-06-28 11:34:53 -07:00
eventpoll.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
ext4_fs.h Define/reserve new ext4 superblock fields 2007-05-31 16:20:15 -04:00
ext4_fs_extents.h ext4: Extent overlap bugfix 2007-05-31 16:20:15 -04:00
ext4_fs_i.h EXT4: Fix whitespace 2007-05-31 16:20:14 -04:00
ext4_fs_sb.h
ext4_jbd2.h
fadvise.h
fault-inject.h
fb.h fbdev: Move declaration of fb_class to <linux/fb.h> 2007-06-01 08:18:28 -07:00
fcdevice.h
fcntl.h
fd.h
fd1772.h
fddidevice.h
fdreg.h
fib_rules.h
file.h
filter.h
firewire-cdev.h firewire: Document userspace ioctl interface. 2007-07-10 00:07:45 +02:00
firewire-constants.h
firmware.h
flat.h
font.h
freezer.h freezer: move frozen_process() to kernel/power/process.c 2007-05-23 20:14:11 -07:00
fs.h Remove remnants of sendfile() 2007-07-10 08:04:15 +02:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fsl_devices.h
fsnotify.h
fuse.h
futex.h Revert "futex_requeue_pi optimization" 2007-06-18 09:48:41 -07:00
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h genhd: send async notification on media change 2007-05-23 20:14:12 -07:00
getcpu.h
gfp.h
gfs2_ondisk.h [GFS2] Add nanosecond timestamp feature 2007-07-09 08:23:12 +01:00
gigaset_dev.h
gpio_keys.h
gpio_mouse.h Input: add gpio-mouse driver 2007-07-10 00:35:17 -04:00
hardirq.h sched: add in_atomic_preempt_off() 2007-07-09 18:51:58 +02:00
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hid-debug.h
hid.h Merge branches 'debug-module-param' and 'upstream' into for-linus 2007-07-09 14:23:37 +02:00
hiddev.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h shm: fix the filename of hugetlb sysv shared memory 2007-06-16 13:16:16 -07:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h
i2c-isa.h
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: add short cables support 2007-07-09 23:17:58 +02:00
idr.h
ieee80211.h
if.h
if_addr.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h Add constant for FCS/CRC length (frame check sequence) 2007-05-21 19:41:19 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_packet.h
if_plip.h
if_ppp.h
if_pppox.h
if_shaper.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
if_wanpipe.h
igmp.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inetdevice.h [IPV4]: include sysctl.h from inetdevice.h 2007-06-22 17:04:27 -07:00
init.h kbuild: introduce __init_refok/__initdata_refok to supress section mismatch warnings 2007-05-19 09:11:58 +02:00
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h Input: convert from class devices to standard devices 2007-07-10 00:35:17 -04:00
interrupt.h
io.h nommu: add ioremap_page_range() 2007-05-15 08:54:00 -07:00
ioc3.h
ioc4.h
ioctl.h
ioport.h
ioprio.h cfq-iosched: fix async queue behaviour 2007-07-10 13:43:25 +02:00
ip.h
ip6_tunnel.h
ip_mp_alg.h
ipc.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h [IPV6] ADDRCONF: Fix conflicts in DEVCONF_xxx constant. 2007-05-31 01:23:36 -07:00
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
irqflags.h
irqreturn.h
isa.h
isapnp.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ixjuser.h
jbd.h
jbd2.h
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h include/linux/kallsyms.h must #include <linux/errno.h> 2007-07-07 13:49:51 -07:00
kbd_diacr.h
kbd_kern.h
Kbuild [DLM] add lock timeouts and warnings [2/6] 2007-07-09 08:22:33 +01:00
kd.h
kdebug.h
kdev_t.h
kernel.h hexdump: more output formatting 2007-06-08 17:23:34 -07:00
kernel_stat.h
kernelcapi.h
kexec.h
key-ui.h
key.h
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h Slab allocators: define common size limitations 2007-05-17 05:23:04 -07:00
kmod.h
kobj_map.h
kobject.h
kprobes.h
kref.h
ks0108.h
kthread.h
ktime.h [TCP]: Congestion control API RTT sampling fix 2007-06-15 15:08:43 -07:00
kvm.h
kvm_para.h
lapb.h
latency.h
lcd.h
leds.h
libata.h libata: Support chips with 64K PRD quirk 2007-07-09 12:17:35 -04:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h
llc.h
lm_interface.h
lock_dlm_plock.h
lockdep.h
log2.h Fix roundup_pow_of_two(1) 2007-05-18 20:46:30 -07:00
loop.h
lp.h
m41t00.h
m48t86.h
magic.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
meye.h
migrate.h
mii.h [NET]: Fix BMSR_100{HALF,FULL}2 defines in linux/mii.h 2007-05-17 14:20:29 -07:00
minix_fs.h
miscdevice.h
mm.h page_mapping must avoid slub pages 2007-06-21 15:55:12 -07:00
mm_inline.h
mm_types.h
mman.h
mmtimer.h
mmzone.h
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h [MIPS] Delete Ocelot 3 support. 2007-07-10 17:33:05 +01:00
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h
netdevice.h [NET] napi: Call __netif_rx_complete in netif_rx_complete 2007-05-31 01:23:35 -07:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_mount.h
nfs_page.h NFS: Avoid a deadlock situation on write 2007-05-24 10:44:20 -04:00
nfs_xdr.h
nfsacl.h
nfsd_idmap.h
nl80211.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
oom.h
oprofile.h
page-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
pata_platform.h Add irq_flags to struct pata_platform_info 2007-07-09 12:17:34 -04:00
patchkey.h
pci-acpi.h
pci.h pci.h stubs (for EDD build error) 2007-07-01 12:29:44 -07:00
pci_hotplug.h
pci_ids.h sdhci: add ene controller id 2007-07-09 21:23:08 +02:00
pci_regs.h
pcieport_if.h
pda_power.h [BATTERY] pda_power platform driver 2007-07-10 11:25:59 +01:00
percpu.h
percpu_counter.h
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phy.h
pid.h
pid_namespace.h
pipe_fs_i.h pipe: add documentation and comments 2007-07-10 08:04:16 +02:00
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm.h PM: introduce set_target method in pm_ops 2007-07-01 12:29:44 -07:00
pm_legacy.h
pmu.h
pnp.h
pnpbios.h
poison.h
poll.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h [BATTERY] Universal power supply class (was: battery class) 2007-07-10 11:25:44 +01:00
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h
profile.h
ps2esdi.h
ptrace.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot.h
reciprocal_div.h
reiserfs_acl.h
reiserfs_fs.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
resource.h
resume-trace.h
rfkill.h [RFKILL]: Make rfkill->name const 2007-06-07 13:39:34 -07:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm: more rmap checking 2007-05-17 05:23:06 -07:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h sched: micro-optimize mmdrop() 2007-07-09 18:52:01 +02:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h serial_core.h: include <linux/sysrq.h> 2007-06-01 08:18:29 -07:00
serial_pnx8xxx.h
serial_reg.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
signalfd.h
skbuff.h [TCP]: Congestion control API RTT sampling fix 2007-06-15 15:08:43 -07:00
slab.h slab allocators: MAX_ORDER one off fix 2007-06-24 08:59:12 -07:00
slab_def.h SLAB: Move two remaining SLAB specific definitions to slab_def.h 2007-05-17 05:23:03 -07:00
slub_def.h SLUB: minimum alignment fixes 2007-06-16 13:16:16 -07:00
sm501-regs.h SM501: Check SM501 ID register on initialisation 2007-06-24 08:59:11 -07:00
sm501.h
smb.h
smb_fs.h Fix headers check fallout 2007-05-21 21:47:27 -07:00
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smp.h Let smp_call_function_single return -EBUSY on UP 2007-05-17 05:23:04 -07:00
smp_lock.h
snmp.h
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h pipe: allow passing around of ops private pointer 2007-07-10 08:04:14 +02:00
srcu.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h
svga.h
swap.h
swapops.h
synclink.h
sys.h
syscalls.h Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM 2007-06-28 11:38:30 -07:00
sysctl.h
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
taskstats.h
taskstats_kern.h
tc.h
tcp.h
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thread_info.h
threads.h
ticable.h
tick.h
tifm.h
time.h
timer.h NOHZ: prevent multiplication overflow - stop timer for huge timeouts 2007-05-29 18:11:10 -07:00
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h sched: more agressive idle balancing 2007-07-09 18:52:01 +02:00
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
types.h
uaccess.h
udf_fs.h
udf_fs_i.h
udf_fs_sb.h
udp.h
ufs_fs.h
ufs_fs_i.h
ufs_fs_sb.h
uinput.h
uio.h
ultrasound.h
umem.h
un.h
unistd.h
unwind.h
usb.h USB: Add USB_DEVICE_INTERFACE_PROTOCOL macro 2007-07-10 00:35:14 -04:00
usb_gadget.h
usb_gadgetfs.h
usb_sl811.h
usb_usual.h
usbdevice_fs.h
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev.h
videodev2.h V4L/DVB (5736): Add V4L2_FBUF_CAP/FLAG_LOCAL/GLOBAL_INV_ALPHA 2007-06-08 08:21:15 -03:00
videotext.h
vmalloc.h
vmstat.h
vt.h
vt_buffer.h
vt_kern.h
wait.h sched: clean up sleep_on() APIs 2007-07-09 18:52:01 +02:00
wanrouter.h
watchdog.h
wireless.h
workqueue.h revert "cancel_delayed_work: use del_timer() instead of del_timer_sync()" 2007-05-18 08:17:17 -07:00
writeback.h Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
x25.h
xattr.h
xfrm.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h