From: Luis Henriques <luis.henriques@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
kernel-team@lists.ubuntu.com
Cc: fanchaoting <fanchaoting@cn.fujitsu.com>,
Trond Myklebust <Trond.Myklebust@netapp.com>,
Luis Henriques <luis.henriques@canonical.com>
Subject: [PATCH 059/139] umount oops when remove blocklayoutdriver first
Date: Thu, 28 Feb 2013 14:43:29 +0000 [thread overview]
Message-ID: <1362062689-2567-60-git-send-email-luis.henriques@canonical.com> (raw)
In-Reply-To: <1362062689-2567-1-git-send-email-luis.henriques@canonical.com>
3.5.7.7 -stable review patch. If anyone has any objections, please let me know.
------------------
From: fanchaoting <fanchaoting@cn.fujitsu.com>
commit 5a12cca697aca5dfba42a7d4c3356acc0445a2b0 upstream.
now pnfs client uses block layout, maybe we can remove
blocklayoutdriver first. if we umount later,
it can cause oops in unset_pnfs_layoutdriver.
because nfss->pnfs_curr_ld->clear_layoutdriver is invalid.
reproduce it:
modprobe blocklayoutdriver
mount -t nfs4 -o minorversion=1 pnfsip:/ /mnt/
rmmod blocklayoutdriver
umount /mnt
then you can see following
CPU 0
Pid: 17023, comm: umount.nfs4 Tainted: GF O 3.7.0-rc6-pnfs #1 VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform
RIP: 0010:[<ffffffffa04cfe6d>] [<ffffffffa04cfe6d>] unset_pnfs_layoutdriver+0x1d/0x70 [nfsv4]
RSP: 0018:ffff8800022d9e48 EFLAGS: 00010286
RAX: ffffffffa04a1b00 RBX: ffff88000b013800 RCX: 0000000000000001
RDX: ffffffff81ae8ee0 RSI: ffff880001ee94b8 RDI: ffff88000b013800
RBP: ffff8800022d9e58 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff880001ee9400
R13: ffff8800105978c0 R14: 00007fff25846c08 R15: 0000000001bba550
FS: 00007f45ae7f0700(0000) GS:ffff880012c00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: ffffffffa04a1b38 CR3: 0000000002c0c000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process umount.nfs4 (pid: 17023, threadinfo ffff8800022d8000, task ffff880006e48aa0)
Stack:
ffff8800105978c0 ffff88000b013800 ffff8800022d9e78 ffffffffa04cd0ce
ffff8800022d9e78 ffff88000b013800 ffff8800022d9ea8 ffffffffa04755a7
ffff8800022d9ea8 ffff880002f96400 ffff88000b013800 ffff880002f96400
Call Trace:
[<ffffffffa04cd0ce>] nfs4_destroy_server+0x1e/0x30 [nfsv4]
[<ffffffffa04755a7>] nfs_free_server+0xb7/0x150 [nfs]
[<ffffffffa047d4d5>] nfs_kill_super+0x35/0x40 [nfs]
[<ffffffff81178d35>] deactivate_locked_super+0x45/0x70
[<ffffffff8117986a>] deactivate_super+0x4a/0x70
[<ffffffff81193ee2>] mntput_no_expire+0xd2/0x130
[<ffffffff81194d62>] sys_umount+0x72/0xe0
[<ffffffff8154af59>] system_call_fastpath+0x16/0x1b
Code: 06 e1 b8 ea ff ff ff eb 9e 0f 1f 44 00 00 55 48 89 e5 53 48 83 ec 08 66 66 66 66 90 48 8b 87 80 03 00 00 48 89 fb 48 85 c0 74 29 <48> 8b 40 38 48 85 c0 74 02 ff d0 48 8b 03 3e ff 48 04 0f 94 c2
RIP [<ffffffffa04cfe6d>] unset_pnfs_layoutdriver+0x1d/0x70 [nfsv4]
RSP <ffff8800022d9e48>
CR2: ffffffffa04a1b38
---[ end trace 29f75aaedda058bf ]---
Signed-off-by: fanchaoting<fanchaoting@cn.fujitsu.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
fs/nfs/blocklayout/blocklayout.c | 1 +
fs/nfs/objlayout/objio_osd.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
index 1093968..62f18f7 100644
--- a/fs/nfs/blocklayout/blocklayout.c
+++ b/fs/nfs/blocklayout/blocklayout.c
@@ -1240,6 +1240,7 @@ static const struct nfs_pageio_ops bl_pg_write_ops = {
static struct pnfs_layoutdriver_type blocklayout_type = {
.id = LAYOUT_BLOCK_VOLUME,
.name = "LAYOUT_BLOCK_VOLUME",
+ .owner = THIS_MODULE,
.read_pagelist = bl_read_pagelist,
.write_pagelist = bl_write_pagelist,
.alloc_layout_hdr = bl_alloc_layout_hdr,
diff --git a/fs/nfs/objlayout/objio_osd.c b/fs/nfs/objlayout/objio_osd.c
index f50d3e8..2f45c4f 100644
--- a/fs/nfs/objlayout/objio_osd.c
+++ b/fs/nfs/objlayout/objio_osd.c
@@ -591,6 +591,7 @@ static struct pnfs_layoutdriver_type objlayout_type = {
.flags = PNFS_LAYOUTRET_ON_SETATTR |
PNFS_LAYOUTRET_ON_ERROR,
+ .owner = THIS_MODULE,
.alloc_layout_hdr = objlayout_alloc_layout_hdr,
.free_layout_hdr = objlayout_free_layout_hdr,
--
1.8.1.2
next prev parent reply other threads:[~2013-02-28 14:48 UTC|newest]
Thread overview: 140+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-28 14:42 [ 3.5.y.z extended stable ] Linux 3.5.7.7 stable review Luis Henriques
2013-02-28 14:42 ` [PATCH 001/139] genirq: Avoid deadlock in spurious handling Luis Henriques
2013-02-28 14:42 ` [PATCH 002/139] KVM: s390: Handle hosts not supporting s390-virtio Luis Henriques
2013-02-28 14:42 ` [PATCH 003/139] rc: unlock on error in show_protocols() Luis Henriques
2013-02-28 14:42 ` [PATCH 004/139] v4l: Reset subdev v4l2_dev field to NULL if registration fails Luis Henriques
2013-02-28 14:42 ` [PATCH 005/139] powerpc/eeh: Fix crash when adding a device in a slot with DDW Luis Henriques
2013-02-28 14:42 ` [PATCH 006/139] pcmcia/vrc4171: Add missing spinlock init Luis Henriques
2013-02-28 14:42 ` [PATCH 007/139] USB: DWC3: Generate interrupt on each TRB as default option Luis Henriques
2013-02-28 14:42 ` [PATCH 008/139] usb: dwc3: gadget: fix skip LINK_TRB on ISOC Luis Henriques
2013-02-28 14:42 ` [PATCH 009/139] usb: dwc3: gadget: req->queued must be forced to false in cleanup Luis Henriques
2013-02-28 14:42 ` [PATCH 010/139] Purge existing TLB entries in set_pte_at and ptep_set_wrprotect Luis Henriques
2013-02-28 14:42 ` [PATCH 011/139] ARM: PXA3xx: program the CSMSADRCFG register Luis Henriques
2013-02-28 14:42 ` [PATCH 012/139] ab8500-chargalg: Only root should have write permission on sysfs file Luis Henriques
2013-02-28 14:42 ` [PATCH 013/139] USB: option: add and update Alcatel modems Luis Henriques
2013-02-28 14:42 ` [PATCH 014/139] uprobes/powerpc: Add dependency on single step emulation Luis Henriques
2013-02-28 14:42 ` [PATCH 015/139] drivers/video: fsl-diu-fb: fix pixel formats for 24 and 16 bpp Luis Henriques
2013-02-28 14:42 ` [PATCH 016/139] s390/kvm: Fix store status for ACRS/FPRS Luis Henriques
2013-02-28 14:42 ` [PATCH 017/139] staging: comedi: disallow COMEDI_DEVCONFIG on non-board minors Luis Henriques
2013-02-28 14:42 ` [PATCH 018/139] tty: Prevent deadlock in n_gsm driver Luis Henriques
2013-02-28 14:42 ` [PATCH 019/139] ALSA: usb-audio: fix Roland A-PRO support Luis Henriques
2013-02-28 14:42 ` [PATCH 020/139] x86-32, mm: Rip out x86_32 NUMA remapping code Luis Henriques
2013-02-28 14:42 ` [PATCH 021/139] x86-32, mm: Remove reference to resume_map_numa_kva() Luis Henriques
2013-02-28 14:42 ` [PATCH 022/139] x86-32, mm: Remove reference to alloc_remap() Luis Henriques
2013-02-28 14:42 ` [PATCH 023/139] ALSA: hda - Release assigned pin/cvt at error path of hdmi_pcm_open() Luis Henriques
2013-02-28 14:42 ` [PATCH 024/139] ab8500_btemp: Demote initcall sequence Luis Henriques
2013-02-28 14:42 ` [PATCH 025/139] Driver core: treat unregistered bus_types as having no devices Luis Henriques
2013-02-28 14:42 ` [PATCH 026/139] ALSA: aloop: Fix Oops while PM resume Luis Henriques
2013-02-28 14:42 ` [PATCH 027/139] ASoC: wm2200: correct IN2L and IN3L digital mute Luis Henriques
2013-02-28 14:42 ` [PATCH 028/139] tty: set_termios/set_termiox should not return -EINTR Luis Henriques
2013-02-28 14:42 ` [PATCH 029/139] ARM: i.MX25: clk: parent per5_clk to AHB clock Luis Henriques
2013-02-28 14:43 ` [PATCH 030/139] hrtimer: Prevent hrtimer_enqueue_reprogram race Luis Henriques
2013-02-28 14:43 ` [PATCH 031/139] staging: comedi: check s->async for poll(), read() and write() Luis Henriques
2013-02-28 14:43 ` [PATCH 032/139] ACPI: Add DMI entry for Sony VGN-FW41E_H Luis Henriques
2013-02-28 14:43 ` [PATCH 033/139] timeconst.pl: Eliminate Perl warning Luis Henriques
2013-02-28 14:43 ` [PATCH 034/139] p54usb: corrected USB ID for T-Com Sinus 154 data II Luis Henriques
2013-02-28 14:43 ` [PATCH 035/139] rtlwifi: rtl8192cu: Fix NULL dereference BUG when using new_id Luis Henriques
2013-02-28 14:43 ` [PATCH 036/139] rtlwifi: rtl8192cu: Add new USB ID Luis Henriques
2013-02-28 14:43 ` [PATCH 037/139] USB: storage: properly handle the endian issues of idProduct Luis Henriques
2013-02-28 14:43 ` [PATCH 038/139] ALSA: rme32.c irq enabling after spin_lock_irq Luis Henriques
2013-02-28 14:43 ` [PATCH 039/139] ALSA: ali5451: remove irq enabling in pointer callback Luis Henriques
2013-02-28 14:43 ` [PATCH 040/139] ARM: 7643/1: sched: correct update_sched_clock() Luis Henriques
2013-02-28 14:43 ` [PATCH 041/139] ALSA: hda - Workaround for silent output on Sony Vaio VGC-LN51JGB with ALC889 Luis Henriques
2013-02-28 14:43 ` [PATCH 042/139] x86: Hyper-V: register clocksource only if its advertised Luis Henriques
2013-02-28 14:43 ` [PATCH 043/139] USB: option: add Yota / Megafon M100-1 4g modem Luis Henriques
2013-02-28 14:43 ` [PATCH 044/139] USB: serial: fix null-pointer dereferences on disconnect Luis Henriques
2013-02-28 14:43 ` [PATCH 045/139] idr: idr_for_each_entry() macro Luis Henriques
2013-02-28 14:43 ` [PATCH 046/139] pps: Add pps_lookup_dev() function Luis Henriques
2013-02-28 14:43 ` [PATCH 047/139] pps: Use pps_lookup_dev to reduce ldisc coupling Luis Henriques
2013-02-28 14:43 ` [PATCH 048/139] pps: Fix a use-after free bug when unregistering a source Luis Henriques
2013-02-28 14:43 ` [PATCH 049/139] USB: option: add Huawei "ACM" devices using protocol = vendor Luis Henriques
2013-02-28 14:43 ` [PATCH 050/139] ARM: samsung: fix assembly syntax for new gas Luis Henriques
2013-02-28 14:43 ` [PATCH 051/139] USB: ehci-omap: Don't free gpios that we didn't request Luis Henriques
2013-02-28 14:43 ` [PATCH 052/139] USB: ehci-omap: Fix autoloading of module Luis Henriques
2013-02-28 14:43 ` [PATCH 053/139] USB: usb-storage: unusual_devs update for Super TOP SATA bridge Luis Henriques
2013-02-28 14:43 ` [PATCH 054/139] perf tools: Fix build with bison 2.3 and older Luis Henriques
2013-02-28 14:43 ` [PATCH 055/139] serial: imx: Fix recursive locking bug Luis Henriques
2013-02-28 14:43 ` [PATCH 056/139] posix-cpu-timers: Fix nanosleep task_struct leak Luis Henriques
2013-02-28 14:43 ` [PATCH 057/139] drivercore: Fix ordering between deferred_probe and exiting initcalls Luis Henriques
2013-02-28 14:43 ` [PATCH 058/139] NFSv4.1: Don't decode skipped layoutgets Luis Henriques
2013-02-28 14:43 ` Luis Henriques [this message]
2013-02-28 14:43 ` [PATCH 060/139] HID: wiimote: fix nunchuck button parser Luis Henriques
2013-02-28 14:43 ` [PATCH 061/139] cgroup: fix exit() vs rmdir() race Luis Henriques
2013-02-28 14:43 ` [PATCH 062/139] cpuset: fix cpuset_print_task_mems_allowed() vs rename() race Luis Henriques
2013-02-28 14:43 ` [PATCH 063/139] rtlwifi: usb: allocate URB control message setup_packet and data buffer separately Luis Henriques
2013-02-28 14:43 ` [PATCH 064/139] b43: Increase number of RX DMA slots Luis Henriques
2013-02-28 14:43 ` [PATCH 065/139] futex: Revert "futex: Mark get_robust_list as deprecated" Luis Henriques
2013-02-28 14:43 ` [PATCH 066/139] NLM: Ensure that we resend all pending blocking locks after a reclaim Luis Henriques
2013-02-28 14:43 ` [PATCH 067/139] ALSA: hda - hdmi: ELD shouldn't be valid after unplug Luis Henriques
2013-02-28 14:43 ` [PATCH 068/139] xen: close evtchn port if binding to irq fails Luis Henriques
2013-02-28 14:43 ` [PATCH 069/139] xen: Send spinlock IPI to all waiters Luis Henriques
2013-02-28 14:43 ` [PATCH 070/139] ALSA: usb: Fix Processing Unit Descriptor parsers Luis Henriques
2013-02-28 14:43 ` [PATCH 071/139] inotify: remove broken mask checks causing unmount to be EINVAL Luis Henriques
2013-02-28 14:43 ` [PATCH 072/139] fs/block_dev.c: page cache wrongly left invalidated after revalidate_disk() Luis Henriques
2013-02-28 14:43 ` [PATCH 073/139] ocfs2: unlock super lock if lockres refresh failed Luis Henriques
2013-02-28 14:43 ` [PATCH 074/139] drivers/video/backlight/adp88?0_bl.c: fix resume Luis Henriques
2013-02-28 14:43 ` [PATCH 075/139] powerpc/kexec: Disable hard IRQ before kexec Luis Henriques
2013-02-28 14:43 ` [PATCH 076/139] mm: mmu_notifier: have mmu_notifiers use a global SRCU so they may safely schedule Luis Henriques
2013-02-28 14:43 ` [PATCH 077/139] mm: mmu_notifier: make the mmu_notifier srcu static Luis Henriques
2013-02-28 14:43 ` [PATCH 078/139] mmu_notifier_unregister NULL Pointer deref and multiple ->release() callouts Luis Henriques
2013-02-28 14:43 ` [PATCH 079/139] mm/fadvise.c: drain all pagevecs if POSIX_FADV_DONTNEED fails to discard all pages Luis Henriques
2013-02-28 14:43 ` [PATCH 080/139] tmpfs: fix use-after-free of mempolicy object Luis Henriques
2013-02-28 14:43 ` [PATCH 081/139] dca: check against empty dca_domains list before unregister provider Luis Henriques
2013-02-28 14:43 ` [PATCH 082/139] ext4: return ENOMEM if sb_getblk() fails Luis Henriques
2013-02-28 14:43 ` [PATCH 083/139] ext4: check bh in ext4_read_block_bitmap() Luis Henriques
2013-02-28 14:43 ` [PATCH 084/139] quota: autoload the quota_v2 module for QFMT_VFS_V1 quota format Luis Henriques
2013-02-28 14:43 ` [PATCH 085/139] ext4: fix possible use-after-free with AIO Luis Henriques
2013-02-28 14:43 ` [PATCH 086/139] drm/i915: Fix CAGF for HSW Luis Henriques
2013-02-28 14:43 ` [PATCH 087/139] ext4: fix race in ext4_mb_add_n_trim() Luis Henriques
2013-02-28 14:43 ` [PATCH 088/139] UBIFS: fix use of freed ubifs_orphan objects Luis Henriques
2013-02-28 14:43 ` [PATCH 089/139] UBIFS: fix double free of " Luis Henriques
2013-02-28 14:44 ` [PATCH 090/139] drm/radeon/dce6: fix display powergating Luis Henriques
2013-02-28 14:44 ` [PATCH 091/139] vgacon/vt: clear buffer attributes when we load a 512 character font (v2) Luis Henriques
2013-02-28 14:44 ` [PATCH 092/139] fbcon: don't lose the console font across generic->chip driver switch Luis Henriques
2013-02-28 14:44 ` [PATCH 093/139] drm/usb: bind driver to correct device Luis Henriques
2013-02-28 14:44 ` [PATCH 094/139] drm/udl: make usage as a console safer Luis Henriques
2013-02-28 14:44 ` [PATCH 095/139] drm/udl: disable fb_defio by default Luis Henriques
2013-02-28 14:44 ` [PATCH 096/139] fb: rework locking to fix lock ordering on takeover Luis Henriques
2013-02-28 14:44 ` [PATCH 097/139] fb: Yet another band-aid for fixing lockdep mess Luis Henriques
2013-02-28 14:44 ` [PATCH 098/139] Revert "drm: Add EDID_QUIRK_FORCE_REDUCED_BLANKING for ASUS VW222S" Luis Henriques
2013-02-28 14:44 ` [PATCH 099/139] ext4: fix xattr block allocation/release with bigalloc Luis Henriques
2013-02-28 14:44 ` [PATCH 100/139] target: Fix lookup of dynamic NodeACLs during cached demo-mode operation Luis Henriques
2013-02-28 14:44 ` [PATCH 101/139] target: Add missing mapped_lun bounds checking during make_mappedlun setup Luis Henriques
2013-02-28 14:44 ` [PATCH 102/139] ftrace: Call ftrace cleanup module notifier after all other notifiers Luis Henriques
2013-02-28 14:44 ` [PATCH 103/139] drm: don't add inferred modes for monitors that don't support them Luis Henriques
2013-02-28 14:44 ` [PATCH 104/139] drm/i915: disable shared panel fitter for pipe Luis Henriques
2013-02-28 14:44 ` [PATCH 105/139] drm: Fill depth/bits_per_pixel for C8 format Luis Henriques
2013-02-28 14:44 ` [PATCH 106/139] drm: Use C8 instead of RGB332 when determining the format from depth/bpp Luis Henriques
2013-02-28 14:44 ` [PATCH 107/139] drm/i915: add missing \n to UTS_RELEASE in the error_state Luis Henriques
2013-02-28 14:44 ` [PATCH 108/139] drm/i915: Set i9xx sdvo clock limits according to specifications Luis Henriques
2013-02-28 14:44 ` [PATCH 109/139] drm/i915: inverted brightness quirk for Acer Aspire 4736Z Luis Henriques
2013-02-28 14:44 ` [PATCH 110/139] intel/iommu: force writebuffer-flush quirk on Gen 4 Chipsets Luis Henriques
2013-02-28 14:44 ` [PATCH 111/139] drm/radeon: remove overzealous warning in hdmi handling Luis Henriques
2013-02-28 14:44 ` [PATCH 112/139] x86, efi: Make "noefi" really disable EFI runtime serivces Luis Henriques
2013-02-28 14:44 ` [PATCH 113/139] posix-timer: Don't call idr_find() with out-of-range ID Luis Henriques
2013-02-28 14:44 ` [PATCH 114/139] ext4: fix free clusters calculation in bigalloc filesystem Luis Henriques
2013-02-28 14:44 ` [PATCH 115/139] fs: Fix possible use-after-free with AIO Luis Henriques
2013-02-28 14:44 ` [PATCH 116/139] mmc: sdhci-esdhc-imx: fix host version read Luis Henriques
2013-02-28 14:44 ` [PATCH 117/139] b43: Fix lockdep splat on module unload Luis Henriques
2013-02-28 14:44 ` [PATCH 118/139] ocfs2: fix possible use-after-free with AIO Luis Henriques
2013-02-28 14:44 ` [PATCH 119/139] x86/xen: don't assume %ds is usable in xen_iret for 32-bit PVOPS Luis Henriques
2013-02-28 14:44 ` [PATCH 120/139] igb: Remove artificial restriction on RQDPC stat reading Luis Henriques
2013-02-28 14:44 ` [PATCH 121/139] ptrace/x86: Introduce set_task_blockstep() helper Luis Henriques
2013-02-28 14:44 ` [PATCH 122/139] ptrace/x86: Partly fix set_task_blockstep()->update_debugctlmsr() logic Luis Henriques
2013-02-28 14:44 ` [PATCH 123/139] sunvdc: Fix off-by-one in generic_request() Luis Henriques
2013-02-28 14:44 ` [PATCH 124/139] sparc64: Fix gfp_flags setting in tsb_grow() Luis Henriques
2013-02-28 14:44 ` [PATCH 125/139] xen-pciback: rate limit error messages from xen_pcibk_enable_msi{,x}() Luis Henriques
2013-02-28 14:44 ` [PATCH 126/139] bridge: set priority of STP packets Luis Henriques
2013-02-28 14:44 ` [PATCH 127/139] xen-netback: correctly return errors from netbk_count_requests() Luis Henriques
2013-02-28 14:44 ` [PATCH 128/139] xen-netback: cancel the credit timer when taking the vif down Luis Henriques
2013-02-28 14:44 ` [PATCH 129/139] net: fix a compile error when SOCK_REFCNT_DEBUG is enabled Luis Henriques
2013-02-28 14:44 ` [PATCH 130/139] ipv4: fix a bug in ping_err() Luis Henriques
2013-02-28 14:44 ` [PATCH 131/139] ipv6: use a stronger hash for tcp Luis Henriques
2013-02-28 14:44 ` [PATCH 132/139] sock_diag: Fix out-of-bounds access to sock_diag_handlers[] Luis Henriques
2013-02-28 14:44 ` [PATCH 133/139] ARM: 7635/1: versatile: fix the PCI IRQ regression Luis Henriques
2013-02-28 14:44 ` [PATCH 134/139] net: fix infinite loop in __skb_recv_datagram() Luis Henriques
2013-02-28 14:44 ` [PATCH 135/139] staging: vt6656: Fix URB submitted while active warning Luis Henriques
2013-02-28 14:44 ` [PATCH 136/139] vlan: adjust vlan_set_encap_proto() for its callers Luis Henriques
2013-02-28 14:44 ` [PATCH 137/139] gpio/ich: Add missing spinlock init Luis Henriques
2013-02-28 14:44 ` [PATCH 138/139] staging: comedi: ni_labpc: set up command4 register *after* command3 Luis Henriques
2013-02-28 14:44 ` [PATCH 139/139] staging: comedi: ni_labpc: correct differential channel sequence for AI commands Luis Henriques
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1362062689-2567-60-git-send-email-luis.henriques@canonical.com \
--to=luis.henriques@canonical.com \
--cc=Trond.Myklebust@netapp.com \
--cc=fanchaoting@cn.fujitsu.com \
--cc=kernel-team@lists.ubuntu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®