* list subvolumes with new btrfs command @ 2010-04-25 18:27 C Anthony Risinger 2010-04-26 2:09 ` sniper 0 siblings, 1 reply; 9+ messages in thread From: C Anthony Risinger @ 2010-04-25 18:27 UTC (permalink / raw) To: linux-btrfs hello, i maintain an unofficial initrd hook in Arch Linux that allows BTRFS to be used as the root device. i am trying to update the hook to use the more extensive "btrfs" command, adding support for users to change their default subvolume from within the initrd (i'm creating a sort of rollback feature, in conjunction with automatic snapshotting via the package manager), and adding support for hot spares (via a second BTRFS pool in which devices are "stolen" to repair the primary array). anyways, i'm having trouble getting a listing of subvolumes: $ btrfs subvolume list / ERROR: can't perform the search the machine has a BTRFS root. i have also tried creating a snapshot and pointing the command at that, but i get the same results. am i using the command wrong? relevant code is from btrfs-list.c: ret = ioctl(fd, BTRFS_IOC_TREE_SEARCH, &args); if (ret < 0) { fprintf(stderr, "ERROR: can't perform the search\n"); return 0; } kernel: $ uname -r 2.6.33-ARCH is there a new CONFIG_* kernel parameter that needs to be set since 2.6.32? everything seems to be in order and working fine... any help appreciated. thanks, C Anthony ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: list subvolumes with new btrfs command 2010-04-25 18:27 list subvolumes with new btrfs command C Anthony Risinger @ 2010-04-26 2:09 ` sniper 2010-04-26 2:47 ` C Anthony Risinger 0 siblings, 1 reply; 9+ messages in thread From: sniper @ 2010-04-26 2:09 UTC (permalink / raw) To: C Anthony Risinger; +Cc: linux-btrfs 2010/4/26 C Anthony Risinger <anthony@extof.me>: > hello, > > i maintain an unofficial initrd hook in Arch Linux that allows BTRFS > to be used as the root device. =C2=A0i am trying to update the hook t= o use > the more extensive "btrfs" command, adding support for users to chang= e > their default subvolume from within the initrd (i'm creating a sort o= f > rollback feature, in conjunction with automatic snapshotting via the > package manager), and adding support for hot spares (via a second > BTRFS pool in which devices are "stolen" to repair the primary array)= =2E > > anyways, i'm having trouble getting a listing of subvolumes: > > $ btrfs subvolume list / > ERROR: can't perform the search > > the machine has a BTRFS root. =C2=A0i have also tried creating a snap= shot > and pointing the command at that, but i get the same results. =C2=A0a= m i > using the command wrong? =C2=A0relevant code is from btrfs-list.c: > > ret =3D ioctl(fd, BTRFS_IOC_TREE_SEARCH, &args); > if (ret < 0) { > =C2=A0fprintf(stderr, "ERROR: can't perform the search\n"); > =C2=A0return 0; > } > need super root? in my ubuntu10.04 with latest btrfs-progs: $ ./btrfs subvolume list /media/sda3-100g/ ERROR: can't perform the search $ sudo ./btrfs subvolume list /media/sda3-100g/ ID 258 top level 5 path misc/snap/snap-4-26 > kernel: > > $ uname -r > 2.6.33-ARCH > > is there a new CONFIG_* kernel parameter that needs to be set since > 2.6.32? =C2=A0everything seems to be in order and working fine... any= help > appreciated. > > thanks, > C Anthony > -- > To unsubscribe from this list: send the line "unsubscribe linux-btrfs= " in > the body of a message to majordomo@vger.kernel.org > More majordomo info at =C2=A0http://vger.kernel.org/majordomo-info.ht= ml > -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: list subvolumes with new btrfs command 2010-04-26 2:09 ` sniper @ 2010-04-26 2:47 ` C Anthony Risinger 2010-04-26 3:22 ` sniper 0 siblings, 1 reply; 9+ messages in thread From: C Anthony Risinger @ 2010-04-26 2:47 UTC (permalink / raw) To: linux-btrfs > need super root? in my ubuntu10.04 with latest btrfs-progs: > > $ ./btrfs subvolume list /media/sda3-100g/ > ERROR: can't perform the search > $ sudo ./btrfs subvolume list /media/sda3-100g/ > ID 258 top level 5 path misc/snap/snap-4-26 ah sorry, i forgot to mention that it doesn't work as super user either, same result: $ sudo btrfs subvolume list / ERROR: can't perform the search the btrfs-progs in ubuntu is probably slightly behind git HEAD (what i'm using in Arch package), maybe it broke recently, i might try to bisect and see it i can pinpoint to problem commit. i am also using kernel 2.6.33 (ubuntu is .32 i think) that's why i thought maybe there was an issue there; it seems like the ioctl() call is failing no matter what in my case. other details i can think of: 1) filesystem was created by a 2.6.31 kernel i will use loopback + BTRFS to test what is happening here and report back; maybe i can't scan / ...? thanks for the response, any other input is very much appreciated. thanks, C Anthony ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: list subvolumes with new btrfs command 2010-04-26 2:47 ` C Anthony Risinger @ 2010-04-26 3:22 ` sniper 2010-04-26 17:23 ` C Anthony Risinger 0 siblings, 1 reply; 9+ messages in thread From: sniper @ 2010-04-26 3:22 UTC (permalink / raw) To: C Anthony Risinger; +Cc: linux-btrfs 2010/4/26 C Anthony Risinger <anthony@extof.me>: >> need super root? in my ubuntu10.04 with latest btrfs-progs: >> >> $ ./btrfs subvolume list /media/sda3-100g/ >> ERROR: can't perform the search >> $ sudo ./btrfs subvolume list /media/sda3-100g/ >> ID 258 top level 5 path misc/snap/snap-4-26 > > ah sorry, i forgot to mention that it doesn't work as super user > either, same result: > > $ sudo btrfs subvolume list / > ERROR: can't perform the search > > the btrfs-progs in ubuntu is probably slightly behind git HEAD (what > i'm using in Arch package), maybe it broke recently, i might try to > bisect and see it i can pinpoint to problem commit. =C2=A0i am also u= sing > kernel 2.6.33 (ubuntu is .32 i think) that's why i thought maybe ther= e > was an issue there; it seems like the ioctl() call is failing no > matter what in my case. > I am using ubuntu-10.04-rc with kernel compiled from the almost lastest source , the btrfs-progs is latest too. You can modify line fprintf(stderr, "ERROR: can't perform the search\n"); to fprintf(stderr, "ERROR: can't perform the search: %s\n", strerror(errn= o)); to see what happened on earth. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: list subvolumes with new btrfs command 2010-04-26 3:22 ` sniper @ 2010-04-26 17:23 ` C Anthony Risinger 2010-04-26 17:58 ` Hubert Kario 0 siblings, 1 reply; 9+ messages in thread From: C Anthony Risinger @ 2010-04-26 17:23 UTC (permalink / raw) To: sniper; +Cc: linux-btrfs > I am using ubuntu-10.04-rc with kernel compiled from the almost > lastest source , the btrfs-progs is latest too. > > You can modify line > > =A0fprintf(stderr, "ERROR: can't perform the search\n"); > to > =A0fprintf(stderr, "ERROR: can't perform the search: %s\n", strerror(= errno)); > > to see what happened on earth. nice: $ sudo btrfs subvolume list / ERROR: can't perform the search: Inappropriate ioctl for device i'm not really familiar with C, or anything this low level, does this help you diagnose my problem? thanks again for the help thus far, C Anthony -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: list subvolumes with new btrfs command 2010-04-26 17:23 ` C Anthony Risinger @ 2010-04-26 17:58 ` Hubert Kario 2010-04-26 19:10 ` C Anthony Risinger 0 siblings, 1 reply; 9+ messages in thread From: Hubert Kario @ 2010-04-26 17:58 UTC (permalink / raw) To: C Anthony Risinger; +Cc: sniper, linux-btrfs On Monday 26 April 2010 19:23:21 C Anthony Risinger wrote: > > I am using ubuntu-10.04-rc with kernel compiled from the almost > > lastest source , the btrfs-progs is latest too. > > > > You can modify line > > > > fprintf(stderr, "ERROR: can't perform the search\n"); > > to > > fprintf(stderr, "ERROR: can't perform the search: %s\n", > > strerror(errno)); > > > > to see what happened on earth. >=20 > nice: >=20 > $ sudo btrfs subvolume list / > ERROR: can't perform the search: Inappropriate ioctl for device >=20 > i'm not really familiar with C, or anything this low level, does this > help you diagnose my problem? Have you tried to run it on the device with the btrfs, not the mount po= int? It looks like the ioctl was made too restrictive about its arguments. --=20 Hubert Kario QBS - Quality Business Software 02-656 Warszawa, ul. Ksawer=C3=B3w 30/85 tel. +48 (22) 646-61-51, 646-74-24 www.qbs.com.pl System Zarz=C4=85dzania Jako=C5=9Bci=C4=85 zgodny z norm=C4=85 ISO 9001:2000 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: list subvolumes with new btrfs command 2010-04-26 17:58 ` Hubert Kario @ 2010-04-26 19:10 ` C Anthony Risinger 2010-04-26 20:51 ` C Anthony Risinger 0 siblings, 1 reply; 9+ messages in thread From: C Anthony Risinger @ 2010-04-26 19:10 UTC (permalink / raw) To: Hubert Kario; +Cc: sniper, linux-btrfs On Mon, Apr 26, 2010 at 12:58 PM, Hubert Kario <hka@qbs.com.pl> wrote: > On Monday 26 April 2010 19:23:21 C Anthony Risinger wrote: >> > I am using ubuntu-10.04-rc with kernel compiled from the almost >> > lastest source , the btrfs-progs is latest too. >> > >> > You can modify line >> > >> > =A0fprintf(stderr, "ERROR: can't perform the search\n"); >> > to >> > =A0fprintf(stderr, "ERROR: can't perform the search: %s\n", >> > strerror(errno)); >> > >> > to see what happened on earth. >> >> nice: >> >> $ sudo btrfs subvolume list / >> ERROR: can't perform the search: Inappropriate ioctl for device >> >> i'm not really familiar with C, or anything this low level, does thi= s >> help you diagnose my problem? > > Have you tried to run it on the device with the btrfs, not the mount = point? > > It looks like the ioctl was made too restrictive about its arguments. ah yes i missed mentioning that to, tried that: $ sudo btrfs sub list /dev/sda2 ERROR: '/dev/sda2' is not a subvolume no dice :( -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: list subvolumes with new btrfs command 2010-04-26 19:10 ` C Anthony Risinger @ 2010-04-26 20:51 ` C Anthony Risinger 2010-04-26 22:14 ` C Anthony Risinger 0 siblings, 1 reply; 9+ messages in thread From: C Anthony Risinger @ 2010-04-26 20:51 UTC (permalink / raw) To: Hubert Kario; +Cc: sniper, linux-btrfs On Mon, Apr 26, 2010 at 2:10 PM, C Anthony Risinger <anthony@extof.me> = wrote: > On Mon, Apr 26, 2010 at 12:58 PM, Hubert Kario <hka@qbs.com.pl> wrote= : >> On Monday 26 April 2010 19:23:21 C Anthony Risinger wrote: >>> > I am using ubuntu-10.04-rc with kernel compiled from the almost >>> > lastest source , the btrfs-progs is latest too. >>> > >>> > You can modify line >>> > >>> > =A0fprintf(stderr, "ERROR: can't perform the search\n"); >>> > to >>> > =A0fprintf(stderr, "ERROR: can't perform the search: %s\n", >>> > strerror(errno)); >>> > >>> > to see what happened on earth. >>> >>> nice: >>> >>> $ sudo btrfs subvolume list / >>> ERROR: can't perform the search: Inappropriate ioctl for device >>> >>> i'm not really familiar with C, or anything this low level, does th= is >>> help you diagnose my problem? >> >> Have you tried to run it on the device with the btrfs, not the mount= point? >> >> It looks like the ioctl was made too restrictive about its arguments= =2E > > ah yes i missed mentioning that to, tried that: > > $ sudo btrfs sub list /dev/sda2 > ERROR: '/dev/sda2' is not a subvolume > > no dice :( i tried setting up loopback with a newly formatted btrfs image + mounting, same result: Inappropriate ioctl for device. same error whether i point the command at the default subvolume or a snapshot. is there anything (missing) i should check in regards to my kernel (module/progs mismatch)? -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: list subvolumes with new btrfs command 2010-04-26 20:51 ` C Anthony Risinger @ 2010-04-26 22:14 ` C Anthony Risinger 0 siblings, 0 replies; 9+ messages in thread From: C Anthony Risinger @ 2010-04-26 22:14 UTC (permalink / raw) To: Hubert Kario; +Cc: sniper, linux-btrfs On Mon, Apr 26, 2010 at 3:51 PM, C Anthony Risinger <anthony@extof.me> = wrote: > On Mon, Apr 26, 2010 at 2:10 PM, C Anthony Risinger <anthony@extof.me= > wrote: >> On Mon, Apr 26, 2010 at 12:58 PM, Hubert Kario <hka@qbs.com.pl> wrot= e: >>> On Monday 26 April 2010 19:23:21 C Anthony Risinger wrote: >>>> > I am using ubuntu-10.04-rc with kernel compiled from the almost >>>> > lastest source , the btrfs-progs is latest too. >>>> > >>>> > You can modify line >>>> > >>>> > =A0fprintf(stderr, "ERROR: can't perform the search\n"); >>>> > to >>>> > =A0fprintf(stderr, "ERROR: can't perform the search: %s\n", >>>> > strerror(errno)); >>>> > >>>> > to see what happened on earth. >>>> >>>> nice: >>>> >>>> $ sudo btrfs subvolume list / >>>> ERROR: can't perform the search: Inappropriate ioctl for device >>>> >>>> i'm not really familiar with C, or anything this low level, does t= his >>>> help you diagnose my problem? >>> >>> Have you tried to run it on the device with the btrfs, not the moun= t point? >>> >>> It looks like the ioctl was made too restrictive about its argument= s. >> >> ah yes i missed mentioning that to, tried that: >> >> $ sudo btrfs sub list /dev/sda2 >> ERROR: '/dev/sda2' is not a subvolume >> >> no dice :( > > i tried setting up loopback with a newly formatted btrfs image + > mounting, same result: Inappropriate ioctl for device. =A0same error > whether i point the command at the default subvolume or a snapshot. > is there anything (missing) i should check in regards to my kernel > (module/progs mismatch)? bleh, looks like my kernel didn't have what it needed; i thought 2.6.33/stock Arch kernel was recent enough. i booted an 2.6.34rc5 kernel any everything works now: $ sudo btrfs sub list / ID 259 top level 5 path vps/var/lib/vps-lxc/tpl/arch-nano ID 260 top level 5 path vps/var/lib/vps-lxc/dom/dom1 heh, i forgot about those snapshots :-). i will compensate for this possibility in my initrd hook. apologies for the noise. on a parting note, the "strerror(errno)" was a nice change, and might be a useful addition for others, as it also pointed my in the right direction for permission problems (without sudo/non-super): $ btrfs sub list / ERROR: can't perform the search: Operation not permitted other than that, thanks for the assistance; the new btrfs tool is nice. C Anthony -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-04-26 22:14 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-04-25 18:27 list subvolumes with new btrfs command C Anthony Risinger 2010-04-26 2:09 ` sniper 2010-04-26 2:47 ` C Anthony Risinger 2010-04-26 3:22 ` sniper 2010-04-26 17:23 ` C Anthony Risinger 2010-04-26 17:58 ` Hubert Kario 2010-04-26 19:10 ` C Anthony Risinger 2010-04-26 20:51 ` C Anthony Risinger 2010-04-26 22:14 ` C Anthony Risinger
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).