This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 762721 - (GLUSTER-989) Support directory exports in nfsx
Support directory exports in nfsx
Status: CLOSED CURRENTRELEASE
Product: GlusterFS
Classification: Community
Component: nfs (Show other bugs)
nfs-alpha
All Linux
low Severity high
: ---
: ---
Assigned To: Shehjar Tikoo
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-06-09 08:37 EDT by Shehjar Tikoo
Modified: 2015-12-01 11:45 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: RTP
Mount Type: nfs
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Shehjar Tikoo 2010-06-09 08:37:50 EDT
There have been requests from users asking for a way to export subdirectories inside GlusterFS volumes as separate NFS exports. For eg, in cases where users are only allowed to mount their own home directories and not the full home dirs volume.
Comment 1 Anand Avati 2010-07-04 22:52:54 EDT
PATCH: http://patches.gluster.com/patch/3419 in master (nfs: Support directory level exports)
Comment 2 Shehjar Tikoo 2010-07-06 05:15:31 EDT
Regression test case filed: http://test.gluster.com/show_bug.cgi?id=76
Comment 3 Lakshmipathi G 2010-07-20 04:52:39 EDT
While testing with nfs-beta rc10. In the vol.file ,if non-existing directory name is provided.It shows up the client when using "showmount" and the mount command fails for this directory.
Comment 4 Lakshmipathi G 2010-07-20 04:57:31 EDT
#mount ec2-72-44-60-35.compute-1.amazonaws.com:/posix2/level2/level3 /root/laks/mnt2  
mount.nfs: ec2-72-44-60-35.compute-1.amazonaws.com:/posix2/level2/level3 failed, reason given by server: No such file or directory
Comment 5 Lakshmipathi G 2010-07-20 05:45:23 EDT
Part of vol.file of 1000 directory export - which worked.
--------------------
         option nfs3.posix2.export-dir 
/test/dir-1,/test/dir-2,/test/dir-3,/test/dir-4,/test/dir-5,/test/dir-6,/test/dir-7,/test/dir-8,/test/dir-9,/test/dir-10,/test/dir-11,/test/dir-12,/test/dir-13,/test/di
r-14,/test/dir-15,/test/dir-16,/test/dir-17,/test/dir-18,/test/dir-19,/test/dir-20,/test/dir-21,/test/dir-22,/test/dir-23,/test/dir-24,/test/dir-25,/test/dir-26,/test/d
ir-27,/test/dir-28,/test/dir-29,/test/dir-30,/test/dir-31,/test/dir-32,/test/dir-33,/test/dir-34,/test/dir-35,/test/dir-36,/test/dir-37,/test/dir-38,/test/dir-39,/test/
dir-40,/test/dir-41,/test/dir-42,/test/dir-43,/test/dir-44,/test/dir-45,/test/dir-46,/test/dir-47,/test/dir-48,/test/dir-49,/test/dir-50,/test/dir-51,/test/dir-52,/test
/dir-53,/test/dir-54,/test/dir-55,/test/dir-56,/test/dir-57,/test/dir-58,/test/dir-59,/test/dir-60,/test/dir-61,/test/dir-62,/test/dir-63,/test/dir-64,/test/dir-65,/tes
t/dir-66,/test/dir-67,/test/dir-68,/test/dir-69,/test/dir-70,/test/dir-71,/test/dir-72,/test/dir-73,/test/dir-74,/test/dir-75,/test/dir-76,/test/dir-77,/test/dir-78,/te
st/dir-79,/test/dir-80,/test/dir-81,/test/dir-82,/test/dir-83,/test/dir-84,/test/dir-85,/test/dir-86,/test/dir-87,/test/dir-88,/test/dir-89,/test/dir-90,/test/dir-91,/t
est/dir-92,/test/dir-93,/test/dir-94,/test/dir-95,/test/dir-96,/test/dir-97,/test/dir-98,/test/dir-99,/test/dir-100,/test/dir-101,/test/dir-102,/test/dir-103,/test/dir-
104,/test/dir-105,/test/dir-106,/test/dir-107,/test/dir-108,/test/dir-109,/test/dir-110,/test/dir-111,/test/dir-112,/test/dir-113,/test/dir-114,/test/dir-115,/test/dir-
116,/test/dir-117,/test/dir-118,/test/dir-119,/test/dir-120,/test/dir-121,/test/dir-122,/test/dir-123,/test/dir-124,/test/dir-125,/test/dir-126,/test/dir-127,/test/dir-
128,/test/dir-129,/test/dir-130,/test/dir-131,/test/dir-132,/test/dir-133,/test/dir-134,/test/dir-135,/test/dir-136,/test/dir-137,/test/dir-138,/test/dir-139,/test/dir-
140,/test/dir-141,/test/dir-142,/test/dir-143,/test/dir-144,/test/dir-145,/test/dir-146,/test/dir-147,/test/dir-148,/test/dir-149,/test/dir-150,/test/dir-151,/test/dir-
152,/test/dir-153,/test/dir-154,/test/dir-155,/test/dir-156,/test/dir-157,/test/dir-158,/test/dir-159,/test/dir-160,/test/dir-161,/test/dir-162,/test/dir-163,/test/dir-
164,/test/dir-165,/test/dir-166,/test/dir-167,/test/dir-168,/test/dir-169,/test/dir-170,/test/dir-171,/test/dir-172,/test/dir-173,/test/dir-174,/test/dir-175,/test/dir-
176,/test/dir-177,/test/dir-178,/test/dir-179,/test/dir-180,/test/dir-181,/test/dir-182,/test/dir-183,/test/dir-184,/test/dir-185,/test/dir-186,/test/dir-187,/test/dir-
188,/test/dir-189,/test/dir-190,/test/dir-191,/test/dir-192,/test/dir-193,/test/dir-194,/test/dir-195,/test/dir-196,/test/dir-197,/test/dir-198,/test/dir-199,/test/dir-
200,/test/dir-201,/test/dir-202,/test/dir-203,/test/dir-204,/test/dir-205,/test/dir-206,/test/dir-207,/test/dir-208,/test/dir-209,/test/dir-210,/test/dir-211,/test/dir-
212,/test/dir-213,/test/dir-214,/test/dir-215,/test/dir-216,/test/dir-217,/test/dir-218,/test/dir-219,/test/dir-220,/test/dir-221,/test/dir-222,/test/dir-223,/test/dir-
224,/test/dir-225,/test/dir-226,/test/dir-227,/test/dir-228,/test/dir-229,/test/dir-230,/test/dir-231,/test/dir-232,/test/dir-233,/test/dir-234,/test/dir-235,/test/dir-
236,/test/dir-237,/test/dir-238,/test/dir-239,/test/dir-240,/test/dir-241,/test/dir-242,/test/dir-243,/test/dir-244,/test/dir-245,/test/dir-246,/test/dir-247,/test/dir-
248,/test/dir-249,/test/dir-250,/test/dir-251,/test/dir-252,/test/dir-253,/test/dir-254,/test/dir-255,/test/dir-256,/test/dir-257,/test/dir-258,/test/dir-259,/test/dir-
260,/test/dir-261,/test/dir-262,/test/dir-263,/test/dir-264,/test/dir-265,/test/dir-266,/test/dir-267,/test/dir-268,/test/dir-269,/test/dir-270,/test/dir-271,/test/dir-
272,/test/dir-273,/test/dir-274,/test/dir-275,/test/dir-276,/test/dir-277,/test/dir-278,/test/dir-279,/test/dir-280,/test/dir-281,/test/dir-282,/test/dir-283,/test/dir-
284,/test/dir-285,/test/dir-286,/test/dir-287,/test/dir-288,/test/dir-289,/test/dir-290,/test/dir-291,/test/dir-292,/test/dir-293,/test/dir-294,/test/dir-295,/test/dir-
296,/test/dir-297,/test/dir-298,/test/dir-299,/test/dir-300,/test/dir-301,/test/dir-302,/test/dir-303,/test/dir-304,/test/dir-305,/test/dir-306,/test/dir-307,/test/dir-
308,/test/dir-309,/test/dir-310,/test/dir-311,/test/dir-312,/test/dir-313,/test/dir-314,/test/dir-315,/test/dir-316,/test/dir-317,/test/dir-318,/test/dir-319,/test/dir-
320,/test/dir-321,/test/dir-322,/test/dir-323,/test/dir-324,/test/dir-325,/test/dir-326,/test/dir-327,/test/dir-328,/test/dir-329,/test/dir-330,/test/dir-331,/test/dir-
332,/test/dir-333,/test/dir-334,/test/dir-335,/test/dir-336,/test/dir-337,/test/dir-338,/test/dir-339,/test/dir-340,/test/dir-341,/test/dir-342,/test/dir-343,/test/dir-
344,/test/dir-345,/test/dir-346,/test/dir-347,/test/dir-348,/test/dir-349,/test/dir-350,/test/dir-351,/test/dir-352,/test/dir-353,/test/dir-354,/test/dir-355,/test/dir-
356,/test/dir-357,/test/dir-358,/test/dir-359,/test/dir-360,/test/dir-361,/test/dir-362,/test/dir-363,/test/dir-364,/test/dir-365,/test/dir-366,/test/dir-367,/test/dir-
368,/test/dir-369,/test/dir-370,/test/dir-371,/test/dir-372,/test/dir-373,/test/dir-374,/test/dir-375,/test/dir-376,/test/dir-377,/test/dir-378,/test/dir-379,/test/dir-
380,/test/dir-381,/test/dir-382,/test/dir-383,/test/dir-384,/test/dir-385,/test/dir-386,/test/dir-387,/test/dir-388,/test/dir-389,/test/dir-390,/test/dir-391,/test/dir-
392,/test/dir-393,/test/dir-394,/test/dir-395,/test/dir-396,/test/dir-397,/test/dir-398,/test/dir-399,/test/dir-400,/test/dir-401,/test/dir-402,/test/dir-403,/test/dir-
404,/test/dir-405,/test/dir-406,/test/dir-407,/test/dir-408,/test/dir-409,/test/dir-410,/test/dir-411,/test/dir-412,/test/dir-413,/test/dir-414,/test/dir-415,/test/dir-
416,/test/dir-417,/test/dir-418,/test/dir-419,/test/dir-420,/test/dir-421,/test/dir-422,/test/dir-423,/test/dir-424,/test/dir-425,/test/dir-426,/test/dir-427,/test/dir-
428,/test/dir-429,/test/dir-430,/test/dir-431,/test/dir-432,/test/dir-433,/test/dir-434,/test/dir-435,/test/dir-436,/test/dir-437,/test/dir-438,/test/dir-439,/test/dir-
440,/test/dir-441,/test/dir-442,/test/dir-443,/test/dir-444,/test/dir-445,/test/dir-446,/test/dir-447,/test/dir-448,/test/dir-449,/test/dir-450,/test/dir-451,/test/dir-
452,/test/dir-453,/test/dir-454,/test/dir-455,/test/dir-456,/test/dir-457,/test/dir-458,/test/dir-459,/test/dir-460,/test/dir-461,/test/dir-462,/test/dir-463,/test/dir-
464,/test/dir-465,/test/dir-466,/test/dir-467,/test/dir-468,/test/dir-469,/test/dir-470,/test/dir-471,/test/dir-472,/test/dir-473,/test/dir-474,/test/dir-475,/test/dir-
476,/test/dir-477,/test/dir-478,/test/dir-479,/test/dir-480,/test/dir-481,/test/dir-482,/test/dir-483,/test/dir-484,/test/dir-485,/test/dir-486,/test/dir-487,/test/dir-
488,/test/dir-489,/test/dir-490,/test/dir-491,/test/dir-492,/test/dir-493,/test/dir-494,/test/dir-495,/test/dir-496,/test/dir-497,/test/dir-498,/test/dir-499,/test/dir-
500,/test/dir-501,/test/dir-502,/test/dir-503,/test/dir-504,/test/dir-505,/test/dir-506,/test/dir-507,/test/dir-508,/test/dir-509,/test/dir-510,/test/dir-511,/test/dir-
512,/test/dir-513,/test/dir-514,/test/dir-515,/test/dir-516,/test/dir-517,/test/dir-518,/test/dir-519,/test/dir-520,/test/dir-521,/test/dir-522,/test/dir-523,/test/dir-
524,/test/dir-525,/test/dir-526,/test/dir-527,/test/dir-528,/test/dir-529,/test/dir-530,/test/dir-531,/test/dir-532,/test/dir-533,/test/dir-534,/test/dir-535,/test/dir-
536,/test/dir-537,/test/dir-538,/test/dir-539,/test/dir-540,/test/dir-541,/test/dir-542,/test/dir-543,/test/dir-544,/test/dir-545,/test/dir-546,/test/dir-547,/test/dir-
548,/test/dir-549,/test/dir-550,/test/dir-551,/test/dir-552,/test/dir-553,/test/dir-554,/test/dir-555,/test/dir-556,/test/dir-557,/test/dir-558,/test/dir-559,/test/dir-
560,/test/dir-561,/test/dir-562,/test/dir-563,/test/dir-564,/test/dir-565,/test/dir-566,/test/dir-567,/test/dir-568,/test/dir-569,/test/dir-570,/test/dir-571,/test/dir-
572,/test/dir-573,/test/dir-574,/test/dir-575,/test/dir-576,/test/dir-577,/test/dir-578,/test/dir-579,/test/dir-580,/test/dir-581,/test/dir-582,/test/dir-583,/test/dir-
584,/test/dir-585,/test/dir-586,/test/dir-587,/test/dir-588,/test/dir-589,/test/dir-590,/test/dir-591,/test/dir-592,/test/dir-593,/test/dir-594,/test/dir-595,/test/dir-
596,/test/dir-597,/test/dir-598,/test/dir-599,/test/dir-600,/test/dir-601,/test/dir-602,/test/dir-603,/test/dir-604,/test/dir-605,/test/dir-606,/test/dir-607,/test/dir-
608,/test/dir-609,/test/dir-610,/test/dir-611,/test/dir-612,/test/dir-613,/test/dir-614,/test/dir-615,/test/dir-616,/test/dir-617,/test/dir-618,/test/dir-619,/test/dir-
620,/test/dir-621,/test/dir-622,/test/dir-623,/test/dir-624,/test/dir-625,/test/dir-626,/test/dir-627,/test/dir-628,/test/dir-629,/test/dir-630,/test/dir-631,/test/dir-
632,/test/dir-633,/test/dir-634,/test/dir-635,/test/dir-636,/test/dir-637,/test/dir-638,/test/dir-639,/test/dir-640,/test/dir-641,/test/dir-642,/test/dir-643,/test/dir-
644,/test/dir-645,/test/dir-646,/test/dir-647,/test/dir-648,/test/dir-649,/test/dir-650,/test/dir-651,/test/dir-652,/test/dir-653,/test/dir-654,/test/dir-655,/test/dir-
656,/test/dir-657,/test/dir-658,/test/dir-659,/test/dir-660,/test/dir-661,/test/dir-662,/test/dir-663,/test/dir-664,/test/dir-665,/test/dir-666,/test/dir-667,/test/dir-
668,/test/dir-669,/test/dir-670,/test/dir-671,/test/dir-672,/test/dir-673,/test/dir-674,/test/dir-675,/test/dir-676,/test/dir-677,/test/dir-678,/test/dir-679,/test/dir-
680,/test/dir-681,/test/dir-682,/test/dir-683,/test/dir-684,/test/dir-685,/test/dir-686,/test/dir-687,/test/dir-688,/test/dir-689,/test/dir-690,/test/dir-691,/test/dir-
692,/test/dir-693,/test/dir-694,/test/dir-695,/test/dir-696,/test/dir-697,/test/dir-698,/test/dir-699,/test/dir-700,/test/dir-701,/test/dir-702,/test/dir-703,/test/dir-
704,/test/dir-705,/test/dir-706,/test/dir-707,/test/dir-708,/test/dir-709,/test/dir-710,/test/dir-711,/test/dir-712,/test/dir-713,/test/dir-714,/test/dir-715,/test/dir-
716,/test/dir-717,/test/dir-718,/test/dir-719,/test/dir-720,/test/dir-721,/test/dir-722,/test/dir-723,/test/dir-724,/test/dir-725,/test/dir-726,/test/dir-727,/test/dir-
728,/test/dir-729,/test/dir-730,/test/dir-731,/test/dir-732,/test/dir-733,/test/dir-734,/test/dir-735,/test/dir-736,/test/dir-737,/test/dir-738,/test/dir-739,/test/dir-
740,/test/dir-741,/test/dir-742,/test/dir-743,/test/dir-744,/test/dir-745,/test/dir-746,/test/dir-747,/test/dir-748,/test/dir-749,/test/dir-750,/test/dir-751,/test/dir-
752,/test/dir-753,/test/dir-754,/test/dir-755,/test/dir-756,/test/dir-757,/test/dir-758,/test/dir-759,/test/dir-760,/test/dir-761,/test/dir-762,/test/dir-763,/test/dir-
764,/test/dir-765,/test/dir-766,/test/dir-767,/test/dir-768,/test/dir-769,/test/dir-770,/test/dir-771,/test/dir-772,/test/dir-773,/test/dir-774,/test/dir-775,/test/dir-
776,/test/dir-777,/test/dir-778,/test/dir-779,/test/dir-780,/test/dir-781,/test/dir-782,/test/dir-783,/test/dir-784,/test/dir-785,/test/dir-786,/test/dir-787,/test/dir-
788,/test/dir-789,/test/dir-790,/test/dir-791,/test/dir-792,/test/dir-793,/test/dir-794,/test/dir-795,/test/dir-796,/test/dir-797,/test/dir-798,/test/dir-799,/test/dir-
800,/test/dir-801,/test/dir-802,/test/dir-803,/test/dir-804,/test/dir-805,/test/dir-806,/test/dir-807,/test/dir-808,/test/dir-809,/test/dir-810,/test/dir-811,/test/dir-
812,/test/dir-813,/test/dir-814,/test/dir-815,/test/dir-816,/test/dir-817,/test/dir-818,/test/dir-819,/test/dir-820,/test/dir-821,/test/dir-822,/test/dir-823,/test/dir-
824,/test/dir-825,/test/dir-826,/test/dir-827,/test/dir-828,/test/dir-829,/test/dir-830,/test/dir-831,/test/dir-832,/test/dir-833,/test/dir-834,/test/dir-835,/test/dir-
836,/test/dir-837,/test/dir-838,/test/dir-839,/test/dir-840,/test/dir-841,/test/dir-842,/test/dir-843,/test/dir-844,/test/dir-845,/test/dir-846,/test/dir-847,/test/dir-
848,/test/dir-849,/test/dir-850,/test/dir-851,/test/dir-852,/test/dir-853,/test/dir-854,/test/dir-855,/test/dir-856,/test/dir-857,/test/dir-858,/test/dir-859,/test/dir-
860,/test/dir-861,/test/dir-862,/test/dir-863,/test/dir-864,/test/dir-865,/test/dir-866,/test/dir-867,/test/dir-868,/test/dir-869,/test/dir-870,/test/dir-871,/test/dir-
872,/test/dir-873,/test/dir-874,/test/dir-875,/test/dir-876,/test/dir-877,/test/dir-878,/test/dir-879,/test/dir-880,/test/dir-881,/test/dir-882,/test/dir-883,/test/dir-
884,/test/dir-885,/test/dir-886,/test/dir-887,/test/dir-888,/test/dir-889,/test/dir-890,/test/dir-891,/test/dir-892,/test/dir-893,/test/dir-894,/test/dir-895,/test/dir-
896,/test/dir-897,/test/dir-898,/test/dir-899,/test/dir-900,/test/dir-901,/test/dir-902,/test/dir-903,/test/dir-904,/test/dir-905,/test/dir-906,/test/dir-907,/test/dir-
908,/test/dir-909,/test/dir-910,/test/dir-911,/test/dir-912,/test/dir-913,/test/dir-914,/test/dir-915,/test/dir-916,/test/dir-917,/test/dir-918,/test/dir-919,/test/dir-
920,/test/dir-921,/test/dir-922,/test/dir-923,/test/dir-924,/test/dir-925,/test/dir-926,/test/dir-927,/test/dir-928,/test/dir-929,/test/dir-930,/test/dir-931,/test/dir-
932,/test/dir-933,/test/dir-934,/test/dir-935,/test/dir-936,/test/dir-937,/test/dir-938,/test/dir-939,/test/dir-940,/test/dir-941,/test/dir-942,/test/dir-943,/test/dir-
944,/test/dir-945,/test/dir-946,/test/dir-947,/test/dir-948,/test/dir-949,/test/dir-950,/test/dir-951,/test/dir-952,/test/dir-953,/test/dir-954,/test/dir-955,/test/dir-
956,/test/dir-957,/test/dir-958,/test/dir-959,/test/dir-960,/test/dir-961,/test/dir-962,/test/dir-963,/test/dir-964,/test/dir-965,/test/dir-966,/test/dir-967,/test/dir-
968,/test/dir-969,/test/dir-970,/test/dir-971,/test/dir-972,/test/dir-973,/test/dir-974,/test/dir-975,/test/dir-976,/test/dir-977,/test/dir-978,/test/dir-979,/test/dir-
980,/test/dir-981,/test/dir-982,/test/dir-983,/test/dir-984,/test/dir-985,/test/dir-986,/test/dir-987,/test/dir-988,/test/dir-989,/test/dir-990,/test/dir-991,/test/dir-
992,/test/dir-993,/test/dir-994,/test/dir-995,/test/dir-996,/test/dir-997,/test/dir-998,/test/dir-999,/test/dir-1000
end-volume
Comment 6 Tejas Bhise 2010-08-09 22:50:51 EDT
If this work is done and the code also put into the mainline, can this be closed ?
Comment 7 Shehjar Tikoo 2010-08-09 22:59:55 EDT
The work is done, code is in and tested but there is an enhancement that can be made to support this better. Need to keep this open.
Comment 8 Shehjar Tikoo 2010-08-09 23:29:54 EDT
(In reply to comment #3)
> While testing with nfs-beta rc10. In the vol.file ,if non-existing directory
> name is provided.It shows up the client when using "showmount" and the mount
> command fails for this directory.

The problem here is that the init phase in a translator takes place independently of all other translators. This means that gnfs cannot resolve the export-dirs in init with the aim of checking whether the dirs actually exist on the glusterfs volume. This is because in init gnfs cannot be sure that all the children translators have been inited also, this means during init it cannot send a lookup for resolving export-dirs.

Note that glusterfsd can exit only when init fails and failing init in gnfs is not possible because there is not way to send the lookup.
gnfs can wait for GF_EVENT_CHILD_UP to resolve all the export dirs but by the time notify is being called, glusterfsd has already started up and cannot exit.

Given the constraint, I am OK with returning a ENOENT for the export-dir at mount time rather than return an error during glusterfsd start-up, in case the exported-dir does not exist. Closing the bug.

Note You need to log in before you can comment on or make changes to this bug.